본문 바로가기
코딩테스트

백준 3009 번 파이썬 풀이

by aibattle 2023. 3. 26.
728x90
반응형

안녕하세요

백준 3009 번 파이썬 풀이 입니다

 

points = []

for i in range(3):
    x, y = map(int, input().split())
    points.append((x, y))

x_coords = [point[0] for point in points]
y_coords = [point[1] for point in points]

for i in range(2):
    if x_coords.count(x_coords[i]) == 1:
        x = x_coords[i]
    if y_coords.count(y_coords[i]) == 1:
        y = y_coords[i]

print(x, y)

위 코드에서는 입력으로 주어지는 세 점의 좌표를 튜플로 묶어서 리스트 points에 저장합니다.

이후에는 리스트 내포를 사용하여 x 좌표 리스트와 y 좌표 리스트를 만듭니다.

 

이후에는 x 좌표와 y 좌표 각각에 대해서 두 번 등장하지 않는 값을 찾아서

네 번째 점의 좌표로 출력합니다.

이를 위해 리스트의 count() 메소드를 사용합니다.

 

다른 방법의 코드도 있습니다

 

x = 0
y = 0

for i in range(3):
    xi, yi = map(int, input().split())
    x ^= xi
    y ^= yi

print(x, y)

여기서 ^ 기호는 비트 단위 XOR 연산을 나타냅니다.

입력으로 주어지는 점의 개수를 먼저 입력받은 후,

이를 바탕으로 좌표를 입력받습니다.

이후에는 입력받은 좌표를 바탕으로 XOR 연산을 수행하여

네 번째 점의 좌표를 구한 후, 출력합니다. 

 

 

728x90
반응형

'코딩테스트' 카테고리의 다른 글

백준 1978번 파이썬 풀이 (소수찾기)  (0) 2023.04.03
백준 25305번 파이썬 풀이  (0) 2023.04.02
백준 15650번 파이썬 풀이  (0) 2023.03.27

댓글