View
[Python] Baekjoon 백준 3009번 네 번째 점
문제
세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오.
입력
세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다.
출력
직사각형의 네 번째 점의 좌표를 출력한다.
x = []
y = []
for i in range(3):
a, b = map(int, input().split())
x.append(a)
y.append(b)
x.sort()
y.sort()
if x.count(x[0]) == 1:
print(x[0], end=" ")
else: print(x[-1], end=" ")
if y.count(y[0]) == 1:
print(y[0])
else: print(y[-1])
문제에서 간단한 규칙을 찾았다
입력받은 점 3개와 나머지 한점으로 사각형을 이루려면
입력받은 x 또는 y 좌표 각각 동일한 숫자 2개씩 이루어야 한다
예)
30 20
10 10
10 20
x 좌표
10 -> 2개
30 -> 1개
y 좌표
10 -> 1개
20 -> 2개
x, y 각각 2개씩 맞춰주면 된다
결론 x 는 30 y는 10
그래서
입렵받은 값을 x 좌표 따로 y 좌표 따로 리스트로 묶었다
그후, 각 각 정렬을 해주고
x[0] 의 카운트 숫자가 1이면 1개 이니까 x[0] 출력
2개이면 x[-1] 즉, 거꾸로 뒤에꺼 출력 한다
y 도 마찬가지로 출력
반응형
'Algorithm > Baekjoon' 카테고리의 다른 글
[Python] Baekjoon 백준 3053번 택시 기하학 (0) | 2021.08.28 |
---|---|
[Python] Baekjoon 백준 4153번 직각삼각형 (0) | 2021.08.28 |
[Python] Baekjoon 백준 1085번 직사각형에서 탈출 (0) | 2021.08.28 |
[Python] Baekjoon 백준 9020번 골드바흐의 추측 (0) | 2021.08.27 |
[Python] Beakjoon 백준 4948번 베르트랑 공준 (0) | 2021.08.26 |
reply