• Home
  • About
    • Awesome soubii photo

      Awesome soubii

      초보 개발자의 공부정리용 블로그입니다. 잘못 쓰여진게 있다면 친절히 알려주세요 :)

    • Learn More
    • Twitter
    • Facebook
    • Instagram
    • Github
    • Steam
  • Posts
    • All Posts
    • All Tags
  • Projects

[Algorithm]11650 좌표 정렬하기1, 11651 좌표 정렬하기 2 By Python3

19 Aug 2020

Reading time ~1 minute

오늘의 문제

https://www.acmicpc.net/problem/11650 https://www.acmicpc.net/problem/11651

두 문제가 정렬조건만 달리하면 되는 문제라 같이 정리하게 되었다.

포인트 쳌쳌

  • 다중 정렬 조건을 이용하여 정렬 후 출력한다.
    좌표정렬1 문제는
    1. x좌표 오름차순
    2. y좌표 오름차순 순서로 정렬해야 했다면

좌표정렬2 문제는

  1. y좌표 오름차순
  2. x좌표 오름차순 순서로 정렬하면 된다.
    따라서, lambda 표현식에서 인덱스 번호만 변경해주면 쉽게 구현할 수 있다.

풀이 코드

import sys
n = int(input())
points = []
for i in range(n):
    x, y = sys.stdin.readline().split()
    points.append((int(x), int(y)))
#좌표 정렬하기1
#result = sorted(points, key = lambda x:(x[0], x[1]))
#좌표 정렬하기2
result = sorted(points, key = lambda x:(x[1], x[0]))
for i in range(n):
    sys.stdout.write('{} {}\n'.format(result[i][0], result[i][1]))


채점 결과

image

image



algorithmbojpython3 Share Tweet +1