백준 [11650.좌표 정렬하기] | Python
✏️ 문제
https://www.acmicpc.net/problem/11650
11650번: 좌표 정렬하기
첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.
www.acmicpc.net
✏️ 풀이방법
1. x,y좌표를 입력받아 오름차순으로 정렬한다.
- sort()메소드와 sorted()함수 모두 풀이 가능
📌 코드
n = int(input())
place = [list(map(int,input().split())) for _ in range(n)]
place.sort()
for i in range(n):
print(*place[i])
n = int(input())
place = [list(map(int,input().split())) for _ in range(n)]
splace = sorted(place)
for i in range(n):
print(*splace[i])
📌 결과
#입력
5
3 4
1 1
1 -1
2 2
3 3
#출력
1 -1
1 1
2 2
3 3
3 4
📝 메모
- 지난번 2750번 수 정렬하기보다 코드도 깔끔해지고 sort()메소드와 sorted()함수도 잘 구분해서 풀었다.
import sys
n = int(input())
place = [list(map(int,sys.stdin.readline().split())) for _ in range(n)]
place.sort()
for i in range(n):
print(*place[i])
시행착오
n = int(input())
num = [list(map(int,input().split())) for _ in range(n)]
x=[]
y=[]
for i,j in num:
x.append(i)
y.append(j)
x.sort()
y.sort()
for i in range(n):
print(x[i],y[i])
- 따로 따로 정렬하면 순서가 얽힐 수 있다.
📒 다시보기
[Python] 12. sort()메소드와 sorted()함수
sort() 메소드 sort()는 메소드로 특정 자료(리스트)에 대해 정렬 기능을 수행 sort(): 오름차순 정렬 / sort(reverse = True): 내림차순 정렬 메소드는 반환값이 없기 때문에 기존 객체(리스트)를 정렬 ex_list
somin0416.tistory.com
[Python] 17. 리스트 원소를 한 줄로 출력하기
보통 for문으로 원소를 출력하면 다음과 같다. 아래와 같이 하나씩 출력된 후 개행문자가 포함되는 것이 아닌 가로로 한 줄에 출력하고자 한다. ex_list = [1,2,3,4,5] for i in ex_list: print(i) #출력 1 2 3 4 5
somin0416.tistory.com
백준[2750.수 정렬하기] | Python
✏️ 문제 https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정
somin0416.tistory.com
백준[10814.나이순 정렬] | Python
✏️ 문제 https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면
somin0416.tistory.com