image

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)

댓글남기기