[Python] 백준알고리즘 #3009

📝 문제

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

⌨️ 입력

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

🖨 출력

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

⌨️ 예제 입력 1

5 5
5 7
7 5

🖨 예제 출력 1

7 7

⌨️ 예제 입력 2

30 20
10 10
10 20

🖨 예제 출력 2

30 10

📚 내가 제출한 코드 1

xCoorDict = {}; yCoorDict = {}; x = 0; y = 0
for i in range(3):
  coordinate = input().split()
  xCoor = coordinate[0]
  yCoor = coordinate[1]
  if xCoor in xCoorDict:
    xCoorDict[xCoor] += 1
  else:
    xCoorDict[xCoor] = 1
  if yCoor in yCoorDict:
    yCoorDict[yCoor] += 1
  else:
    yCoorDict[yCoor] = 1
for key, value in xCoorDict.items():
  if value == 1:
    x = key
for key, value in yCoorDict.items():
  if value == 1:
    y = key
print(x + " " + y)

✏️ 내가 제출한 코드 1 에 대한 설명

  • range(a) : 0부터 a-1까지의 정수를 반환하는 함수
  • input() : 키보드로 입력한 값을 받는 함수
  • a.split() : a를 빈칸 단위로 쪼개서 반환하는 함수
  • if a in b : b 안에 a가 있는지 여부를 판단한다.
  • for a, b in c.items() : c의 key와 value가 하나씩 a, b로 대입되어 for문 실행된다.
  • 메모리 : 29200 KB
  • 시간 : 72 ms
  • 코드 길이 : 461 B

📚 내가 제출한 코드 2

x = []; y = []
resultX = 0; resultY = 0
for _ in range(3):
  coordinate = input().split()
  x.append(coordinate[0])
  y.append(coordinate[1])
for i in range(3):
  if x.count(x[i]) == 1:
    resultX = x[i]
  if y.count(y[i]) == 1:
    resultY = y[i]
print(resultX + " " + resultY)

✏️ 내가 제출한 코드 2 에 대한 설명

  • range(a) : 0부터 a-1까지의 정수를 반환하는 함수
  • input() : 키보드로 입력한 값을 받는 함수
  • a.split() : a를 빈칸 단위로 쪼개서 반환하는 함수
  • a.count(b) : a 안에 b가 몇개 있는지 반환하는 함수
  • 메모리 : 29200 KB
  • 시간 : 68 ms
  • 코드 길이 : 279 B

좋은 웹페이지 즐겨찾기