Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 알기쉬운 알고리즘
- JSON
- 혼자 공부하는 C언어
- Graph
- Serialization
- 윤성우의 열혈 자료구조
- C 언어 코딩 도장
- Algorithm
- insertion sort
- datastructure
- coding test
- Stack
- stream
- buffer
- 이스케이프 문자
- R
- 메모리구조
- s
- 이것이 자바다
- list 컬렉션
- 윤성우 열혈자료구조
- Selection Sorting
- C programming
Archives
- Today
- Total
Engineering Note
[BOJ:11651] 좌표정렬하기2 본문
문제
https://www.acmicpc.net/problem/11651
[
11651번: 좌표 정렬하기 2
첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.
](https://www.acmicpc.net/problem/11651)
문제해결방법
- 파이썬 리스트 내장함수 sort()의 특징을 이용하면 쉽게 풀 수 있다.
- 파이썬의 리스트의 요소가 하나가 아니라 리스트, 튜플로 저장되어 있으면 각 요소의 순서대로 기준이 되어 정렬한다. 그러므로 x,y를 입력 받고 (y,x) 순으로 정렬해주면 y를 기준으로 먼저 정렬하고 y값이 같으면 x 값을 비교하여 정렬하게 된다.
코드
import sys
n = int(sys.stdin.readline().rstrip())
point = []
for i in range(n):
x, y = map(int,sys.stdin.readline().rstrip().split())
point.append((y,x))
point.sort()
for elem in point:
print(elem[1],elem[0])
'Problem Solving > BOJ' 카테고리의 다른 글
[BOJ:10814]나이순 정렬 (0) | 2021.08.22 |
---|---|
[BOJ:1181] 단어 정렬 (0) | 2021.08.22 |
[BOJ:11650] 좌표정렬하기 (0) | 2021.08.22 |
[BOJ:1427] 소트인사이드 (0) | 2021.08.22 |
[BOJ:1874] 스택수열 (0) | 2021.08.21 |
Comments