처음 직접 풀었던 풀이 -> 복잡하고, 한 눈에 무슨 풀이인지 파악하기 쉽지 않았다.
입력도 3번에 걸쳐서 받고, 코드는 중복되고, count는 직접 계산해서 더욱 복잡했다.
x_origin_count = 0
y_origin_count = 0
first_point = list(map(int, input().split()))
x_origin = first_point[0]
y_origin = first_point[1]
x_twice = 0
y_twice = 0
second_point = list(map(int, input().split()))
if (x_origin != second_point[0]):
x_origin_count += 1
x_twice = second_point[0]
if (y_origin != second_point[1]):
y_origin_count += 1
y_twice = second_point[1]
third_point = list(map(int, input().split()))
if (x_origin != third_point[0]):
x_origin_count += 1
x_twice = third_point[0]
if (y_origin != third_point[1]):
y_origin_count += 1
y_twice = third_point[1]
if (x_origin_count == 1):
if (y_origin_count == 1):
print(x_twice, y_twice)
elif (y_origin_count == 2):
print(x_twice, y_origin)
elif (x_origin_count == 2):
if (y_origin_count == 1):
print(x_origin, y_twice)
elif (y_origin_count == 2):
print(x_origin, y_origin)
인터넷 풀이를 참고한 2번째 방법 -> List.count() 함수를 사용한다.
x_nums = []
y_nums = []
for _ in range(3):
x, y = map(int, input().split())
x_nums.append(x)
y_nums.append(y)
for i in range(3):
if (x_nums.count(x_nums[i]) == 1): # 좌표의 x값들 중에서 한 번만 나타난 것이 4번째 좌표의 x값이다.
x4 = x_nums[i]
if (y_nums.count(y_nums[i]) == 1):
y4 = y_nums[i]
print(x4, y4)
https://www.acmicpc.net/problem/3009
'알고리즘과 코딩 테스트 > 백준 25단계' 카테고리의 다른 글
[파이썬] 2004번. 조합 0의 개수 풀이 (0) | 2023.02.24 |
---|---|
[파이썬] 9375번. 패션왕 신해빈 풀이 (0) | 2023.02.22 |
[파이썬] 2981번. 검문 풀이 (1) | 2023.02.21 |
[파이썬] 1002번. 터렛 풀이 (0) | 2023.02.20 |
[파이썬] 2477번. 참외밭 풀이 (0) | 2023.02.13 |