Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
백준 3009번 - 네 번째 점 (PYTHON 풀이) 본문
문제:

해당 문제는 세 개의 좌표를 받은 뒤 남은 한 좌표를 찾는 문제이다. 이때 직사각형이 되도록 평행이 되는 점을 찾아야 한다.
헷갈렸던 건 평행이 되게 하면 되는데 이걸 어떤 규칙으로 코드로 짜야 하는지에 대한 것이었다. 헷갈려서 그림을 그려보았다.

그림과 같이 노란색 점을 찾으면 되는데 갈색 좌표를 보면 각각의 점이 이어지는 것을 확인할 수 있다. 예를 들어 (5,7)은 아래 (5,5)에서 x좌표가 동일하고 (5,5)는 그 옆 (7,5)에서 y좌표가 동일하다. 그렇다면 노란점은 어떨까?
(7,5)를 기준으로 x좌표가 동일하고 (5,7) 기준으로 y좌표가 동일하다. 즉, 남은 한 점은 기존에 존재하는 점과 이어지게 만들면 된다.
그러려면 기존 좌표는 이미 짝이 존재하기 때문에 짝이 없는 숫자 즉, 빈도수가 가장 적은 수의 세트를 출력하면 될 것이다.
풀이:
a,b=map(int,input().split())
c,d=map(int,input().split())
e,f=map(int,input().split())
k=[a,c,e]
q=[b,d,f]
for i in k:
if k.count(i) == 1:
x = i
for j in q:
if q.count(j) == 1:
y = j
print(x, y)
상기 문제 파트에서 설명한 풀이를 토대로 코드를 작성하면 위와 같다.
문제에서 세 번 입력을 받는 것이 나와있기 때문에 세 줄의 입력을 받은 뒤 x좌표끼리 리스트를, y좌표끼리 리스트를 만들어준다.
그 후 python의 좋은 내장 함수인 count를 활용하여 각 리스트의 빈도수를 체크한다. 그 후 1번만 나와있는 수를 각각 x, y에 저장해준 뒤 출력하면 문제에서 요구하는 바가 해결된다.
'CODING 💻' 카테고리의 다른 글
| 백준 5073번 - 삼각형과 세 변 (PYTHON 풀이) (0) | 2025.09.11 |
|---|---|
| 백준 15894번 - 수학은 체육과목 입니다 (PYTHON 풀이) (0) | 2025.09.10 |
| 백준 1085번 - 직사각형에서 탈출 (PYTHON 풀이) (0) | 2025.09.08 |
| 백준 10101번 - 삼각형 외우기 (PYTHON 풀이) (0) | 2025.09.07 |
| 백준 2903번 - 중앙 이동 알고리즘 (PYTHON 풀이) (0) | 2025.09.06 |
