백준 11651 좌표 정렬하기2

n = int(input())

nums = []
for i in range(n):
    (x, y) = map(int, input().split())
    nums.append((x, y))
nums.sort(key=lambda x:(x[1],x[0]))
for [a,b] in nums:
    print(a,b)

코드풀이

n = int(input())

nums = []
for i in range(n):
    #입력받은 n만큼 for문 돌려줌
    (x, y) = map(int, input().split())
    nums.append((x, y))
    #입력받은 x,y를 nums에 넣어줌

#y좌표 오름차순 정렬
nums.sort(key=lambda x:((x[1]),x[0]))
#lambda함수 key값을 기준으로 정렬
#요소가 두개이므로 튜플사용
#두번째 인자를 기준으로 오름차순
#x:((x[1]))만 적어주어도 됨
for [a,b] in nums:
    print(a,b)

lambda함수를 이용해 여러 요소를 정렬할땐 튜플을 사용한다.
x[1] -> 두번째 인자로 오름차순
x[0] -> 첫번째 인자로 오름차순
x[0], -x[1] -> 첫번째 인자로 오름차순 후 두번재 인자로 내림차순

좋은 웹페이지 즐겨찾기