-
[BOJ] 3009번Algorithm/Baekjoon Online Judge 2022. 3. 15. 12:13728x90
https://www.acmicpc.net/problem/3009
Python3
code1
if __name__ == '__main__': points = [] for _ in range(3): x, y = map(int, input().split()) points.append((x, y)) for x, y in points: for x1, y1 in points: if (x, y1) not in points: print(x, y1) break
세점이 주어졌을 때 한점을 찾기 위해서는 주어진 x, y 좌표 값에 대해서 없는 x 좌표 값, y 좌표 값의 조합을 찾아야한다. 이를 위해서 먼저 3개의 점의 x, y 좌표값을 튜플로 배열에 모두 저장했다.
2차 반복문을 통하여 바깥 반복문에서는 x좌표 값을 안쪽 반복문에서는 y좌표 값을 뽑아 튜플로 만들고 이 튜플이 3개의 점의 좌표 튜플이 들어있는 points 리스트에 있는지 확인했다. 만약 이 점이 points안에 없다면 구해야하는 점이되므로 이를 print하고 반복문을 종료했다.
code2
x_num = [] y_num = [] for _ in range(3): x, y = map(int, input().split()) x_num.append(x) y_num.append(y) for i in range(3): if x_num.count(x_num[i]) == 1: x = x_num[i] if y_num.count(y_num[i]) == 1: y = y_num[i] print(x, y)
이중 반복문을 쓰지 않고 좀 더 간단한 방식으로 코드를 구현했다. 단순히 개수를 세는 것인데 3개의 점을 받아 x, y좌표가 1개씩 밖에 없는 좌표 값을 선택하는 방식이다. 먼저 3개의 점을 x좌표 리스트, y좌표 리스트에 입력 받고, 각 리스트를 돌면서 개수가 한개인 좌표에 대해 x, y값을 지정했다.
728x90'Algorithm > Baekjoon Online Judge' 카테고리의 다른 글
[BOJ] 3053번 (0) 2022.03.16 [BOJ] 4153번 (0) 2022.03.16 [BOJ] 9020번 (0) 2022.03.14 [BOJ] 4948번 (0) 2022.03.12 [BOJ] 11653번 (0) 2022.03.12