[python] 백준 11651번

도덩이의 개발 일지·2024년 9월 12일

백준

목록 보기
75/131
post-thumbnail

안녕하세요 !

오늘은 백준 - 좌표 정렬하기 2 문제를 가지고 왔습니다.


문제 설명


해결 방법

문제를 해결한 방법은 다음과 같습니다.

  1. 숫자 N을 입력받습니다.
  2. 숫자 N개를 입력받으면서 y좌표를 리스트, y좌표와 x좌표를 각각 key, value로 셔너리에 저장합니다.
  3. x좌표가 담긴 리스트와 딕셔너리의 y좌표를 오름차순으로 정렬한다.
  4. 좌표를 출력한다.

  1. 숫자 N을 입력받습니다.
n = int(sys.stdin.readline().strip())

  1. 숫자 N개를 입력받으면서 y좌표를 리스트, y좌표와 x좌표를 각각 key, value로 셔너리에 저장합니다.
d = {}
y_arr = []
for i in range(n):
    p = list(map(int, sys.stdin.readline().strip().split()))
    if p[1] not in d:
        y_arr.append(p[1])
        d[p[1]] = [p[0]]
    else:
        d[p[1]].append(p[0])

  1. x좌표가 담긴 리스트와 딕셔너리의 y좌표를 오름차순으로 정렬한다.
y_arr.sort()
for key, value in d.items():
    value.sort()

  1. 좌표를 출력한다.
for y in y_arr:
    for x in d[y]:
        print(f"{x} {y}")

전체 코드

import sys

n = int(sys.stdin.readline().strip())

d = {}
y_arr = []
for i in range(n):
    p = list(map(int, sys.stdin.readline().strip().split()))
    if p[1] not in d:
        y_arr.append(p[1])
        d[p[1]] = [p[0]]
    else:
        d[p[1]].append(p[0])

y_arr.sort()
    
for key, value in d.items():
    value.sort()

for y in y_arr:
    for x in d[y]:
        print(f"{x} {y}")
profile
말하는 감자에서 개발자로 ( ´͈ ᵕ `͈ )◞♡

0개의 댓글