문제 출처
[문제 요약]
첫 줄에 입력의 개수 N이 입력으로 들어온다.
이후에 N개의 x, y좌표가 스페이스로 나누어진채 주어진다.
좌표를 y좌표가 증가하는 순으로, y좌표가 같으면 x좌표가 증가하는 순으로 출력해라.
[풀이]
우선 x에 대하여 정렬한 후
y에 대하여 정렬하면 된다.
lst에 좌표가 (x, y)의 tuple형태로 주어진다고 하면
lst.sort()
lst.sort(key=lambda x: x[1])
[유의할 점]
sort의 key가 어떤걸 기준으로 sort할지 주는거고 lambda x: x[1] 이 튜플에서 두번째(y)를 기준으로 정렬하라는 뜻이다.
[파이썬 3 코드]
# -*- coding: utf-8 -*-
from sys import stdin
if __name__ == "__main__":
n = int(stdin.readline())
lst = []
for i in range(n):
inptuple = tuple(map(int, stdin.readline().split()))
lst.append(inptuple)
lst.sort()
lst.sort(key=lambda x: x[1])
for j in range(n):
print("{} {}".format(lst[j][0], lst[j][1]))
[백준] 1929 소수 구하기 (Baekjoon Problem 1929: Get Prime Number) (0) | 2023.08.31 |
---|---|
[백준] 18110 solved.ac (Baekjoon Problem 18110: solved.ac) (0) | 2023.08.18 |
[백준] 10989 수 정렬하기 3 (Baekjoon Problem 10989: Sort 3) (0) | 2023.08.17 |
[백준] 10773 제로 (Baekjoon Problem 10773: Zero) (0) | 2023.08.17 |
[백준] 2292 벌집 (Baekjoon Problem 2292: Honeycomb) (0) | 2023.08.16 |
댓글 영역