최대 1 분 소요

1. 문제Permalink

[Bronze III] 네 번째 점 - 3009Permalink

문제 링크

성능 요약Permalink

메모리: 30860 KB, 시간: 64 ms

분류Permalink

기하학(geometry), 구현(implementation)

문제 설명Permalink

세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오.

입력Permalink

세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다.

출력Permalink

직사각형의 네 번째 점의 좌표를 출력한다.

출처: 백준, https://https://www.acmicpc.net/

2. 해결방법 시간복잡도Permalink

  1. 단순 코딩 O(N)

3. 문제 해결 및 코드Permalink


li_x = []
li_y = []
for i in range(3): # 4번째 점을 구하는 것이기때문에 3번째 점까지만 받는다.
x, y = map(int, input().split())
li_x.append(x) # 받은 x값 넣기
li_y.append(y) # 받은 y값 넣기
for j in range(3): # 다시 반복문을 통해 x와 y에 해당 값이 있는 지 확인
if li_x.count(li_x[j]) == 1: # 만약 x의 j위치에 값이 1개밖에 없다면
x = li_x[j] # x 는 받은 x의 j위치 값이다.
if li_y.count(li_y[j]) == 1: # 만약 y의 j위치에 값이 1개밖에 없다면
y = li_y[j] # y 는 받은 y의 j위치 값이다.
print(x, y)
view raw 3009.py hosted with ❤ by GitHub
  • 주석을 참고하면서 이해를 돕습니다.Permalink

4. 알고리즘 및 해설Permalink

  1. 반복문을 통해 4번째 점을 구한다.
    • 이때 x값과 y값을 받은 뒤 각각의 리스트에 넣는다.
  2. 다시 반복문을 통해 4번째 점을 구한다.
    • 이때 만약 x의 j위치값에 값이 1개 밖에 없다면 x값은 j위치의 값이다.
    • 이때 만약 x의 j위치값에 값이 1개 밖에 없다면 y값은 j위치의 값이다.
  3. 최종적으로 네 번째 점의 좌표를 출력해준다.