티스토리 뷰

반응형

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

 

11651번: 좌표 정렬하기 2

첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.

www.acmicpc.net

 


⊙ 문제

⊙ 입력

⊙ 출력

⊙ 예제 입출력

⊙ 알고리즘 분류

  • 정렬

 


 

⊙ 문제 접근 과정

 

정렬 문제다.

값을 입력받고, 배열에 저장해 주자.

 

그리고 sort함수를 사용하되 lambda를 이용하여 y좌표 기준으로 오름차순 정렬을 진행하자.

그리고 두 번째 조건으로 y좌표가 같다면 x좌표를 기준으로 오름차순 정렬을 해주는 코드를 작성하면 된다.

 

마지막엔 for문을 이용하여 배열에 정렬되어 저장된 값을 출력해주면 된다.

 

 

 


 

⊙ 문제 풀이

 

N = int(input())

graph = []

for _ in range(N):
    x, y = map(int,input().split())
    graph.append([x,y])

graph=sorted(graph,key=lambda x:(x[1],x[0]))

for x,y in graph:
    print(x,y)

 


⊙ 결과

 


⊙ 마무리

 

 

시험기간이라 쉬운 거 ㅎㅎ

 

 

좋아요는 로그인하지 않아도 누를 수 있습니다!

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함