문제 링크
https://www.acmicpc.net/problem/3009
문제
세 점이 주어졌을 때,
축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오.
입력
세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다.
출력
직사각형의 네 번째 점의 좌표를 출력한다.
예제
입력
5 5
5 7
7 5
출력
7 7
정답 및 풀이
x_list = []
y_list = []
for _ in range(3):
x, y = map(int, input().split())
x_list.append(x)
y_list.append(y)
for i in range(3):
if x_list.count(x_list[i]) == 1:
x4 = x_list[i]
if y_list.count(y_list[i]) == 1:
y4 = y_list[i]
print(x4, y4)
- x_list = [], y_list = []
- 각각 x좌표와 y좌표를 저장할 빈 리스트를 만듭니다.
- for _ in range(3):
- 세 개의 점 좌표를 입력받기 위한 반복문을 실행합니다.
- (문제에서 세 점의 좌표가 주어짐)
- x, y = map(int, input().split())
- 각 줄에서 공백으로 구분된 두 개의 정수를 입력받아
- 각각 x, y 변수에 저장합니다.
- x_list.append(x) / y_list.append(y)
- 입력받은 x좌표와 y좌표를 각각 리스트에 추가합니다.
- if x_list.count(x_list[i]) == 1:
- x_list에서 현재 x좌표가 한 번만 등장하는지 확인합니다.
- 직사각형의 꼭짓점은 짝을 이루므로,
- 한 번만 나온 좌표가 네 번째 점의 x좌표입니다.
- if y_list.count(y_list[i]) == 1:
- 마찬가지로 y_list에서 한 번만 등장하는 y좌표를 찾습니다.
- 그 값이 네 번째 점의 y좌표입니다.
- print(x4, y4)
- 찾은 네 번째 점의 좌표 (x4, y4)를 출력합니다.
새롭게 배운 내용 및 느낀점
- count()
- 리스트에 특정 값이 몇번 나왔는지 세어주는 메서드
'백준' 카테고리의 다른 글
| [백준] 9063 : 대지 (Python/파이썬) (0) | 2025.10.16 |
|---|---|
| [백준] 15894 : 수학은 체육과목 입니다 (Python/파이썬) (0) | 2025.10.16 |
| [백준] 1085 : 직사각형에서 탈출 (Python/파이썬) (0) | 2025.10.16 |
| [백준] 11653 : 소인수분해 (Python/파이썬) (0) | 2025.10.14 |
| [백준] 2501 : 약수 구하기 (Python/파이썬) (0) | 2025.10.14 |