Python/online judge

백준 [11650.좌표 정렬하기] | Python

구름솜:D 2024. 1. 29. 15:05
728x90

✏️ 문제

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