[백준][Python] 3009. 네 번째 점
Bronze Ⅲ 🔗3009. 네 번째 점
📝문제 요약
문제
세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오.
입력
세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다.
출력
직사각형의 네 번째 점의 좌표를 출력한다.
✏️문제 풀이
- 세 점의 좌표를 입력 받아 리스트
dot
에 저장 - 각 좌표의 개수를 세었을 때 1개인 숫자를 찾아 좌표를 완성하면 네번째 점을 알 수 있음
x
,y
를 저장할 리스트를 각각 만들어 초기화- 모든 좌표를 확인해야하기 때문에 3번 반복하여 연산
- 각 좌표의
x
값을x
리스트에 저장 - 각 좌표의
y
값을y
리스트에 저장
- 각 좌표의
- 각 좌표 중 1개만 있는 숫자를 확인하여
a
,b
에 각각 저장 a
,b
가 네번째 좌표이므로 출력
코드와 함께 보는 풀이
# 세 점의 좌표를 입력 받아 리스트 dot에 저장
dot = [list(map(int, input().split())) for _ in range(3)]
# 리스트 x, y 초기화
x = []
y = []
# 모든 좌표를 확인하기 위하여 3번 반복
for i in range(3):
# 각 좌표의 x 값을 x 리스트에 저장
x.append(dot[i][0])
# 각 좌표의 y 값을 y 리스트에 저장
y.append(dot[i][1])
# 각 좌표 중 1개만 있는 숫자를 확인하여 a, b에 각각 저장
for i in range(3):
if x.count(x[i]) == 1:
a = x[i]
if y.count(y[i]) == 1:
b = y[i]
# 찾은 네번째 좌표 a, b를 출력
print(a, b)
💯제출 코드
dot = [list(map(int, input().split())) for _ in range(3)]
x = []
y = []
for i in range(3):
x.append(dot[i][0])
y.append(dot[i][1])
for i in range(3):
if x.count(x[i]) == 1:
a = x[i]
if y.count(y[i]) == 1:
b = y[i]
print(a, b)
댓글남기기