반응형
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
- DP
- DFS
- 코딩테스트
- 해슁
- 정렬
- SQL
- 프로그래머스
- codecademy
- CleanCode
- inflearn
- Spring
- 다이나믹 프로그래밍
- html
- Color
- Kotlin
- 자바
- BFS
- CSS
- Web
- java
- javascript
- algorithm
- 구현
- front-end
- 클린코드
- android
- SWEA
- 알고리즘
- 순환
- 검색트리
Archives
- Today
- Total
깡뇽
[백준] 11650번 좌표 정렬하기 파이썬 본문
반응형
첫줄 : 입력할 점의 개수 N
N줄 : 점( x와 y 값 )
입력받은 점을 x부터 정렬, x가 같으면 y에 따라 정렬
2845번 파티가 끝나고 난 뒤 풀이
[시도1] pypy3 시간 초과
n = int(input())
numbers = []
for i in range(0, n):
a, b = map(int, input().split())
numbers.append([a,b])
numbers.sort()
for i in range(0, n):
num = numbers[i]
a = num[0]
b = num[1]
print(str(a) + ' ' + str(b))
[시도2] pypy3 시간 초과
import sys
n = int(sys.stdin.readline())
numbers = []
for i in range(0, n):
a, b = map(int, sys.stdin.readline().split())
numbers.append([a,b])
numbers.sort()
for i in range(0, n):
num = numbers[i]
a = num[0]
b = num[1]
print(str(a) + ' ' + str(b))
입력방식을 input()에서 sys.stdin.readline()으로 바꾸어 시간을 단축해보려고 했으나 바꾼 코드도 시간초과가 났다.
[시도3] pypy3 맞았습니다!
import sys
n = int(sys.stdin.readline())
numbers = []
for i in range(0, n):
a, b = map(int, sys.stdin.readline().split())
numbers.append([a,b])
numbers.sort()
for i in range(0, n):
num = numbers[i]
print(str(num[0]) + ' ' + str(num[1]))
sotr()를 for문 밖에서 해주어서 복잡도를 낮춰주었다.
주변 알고리즘 고수에게 물어봤더니 [시도2]는 for문 안에 정렬을 하므로 N^2logN의 복잡도를 가지고, [시도3]처럼 for문 이후에 정렬을 하게되면 NlogN의 복잡도를 가진다고 한다.
https://www.acmicpc.net/problem/11650
반응형
'Algorithm > BAEKJOON' 카테고리의 다른 글
[백준] 1463번 1로 만들기 파이썬 (0) | 2022.02.02 |
---|---|
[백준] 1978번 소수 찾기 파이썬 (0) | 2022.02.01 |
[백준] 2941번 크로아티아 알파벳 파이썬 (0) | 2022.01.26 |
[백준] 2751번 수 정렬하기 2 파이썬 (0) | 2022.01.26 |
[백준] 2845번 파티가 끝나고 난 뒤 파이썬 (0) | 2022.01.09 |