문제 링크
https://www.acmicpc.net/problem/2751
처음에 잘못 짠 코드
import sys
N = int(sys.stdin.readline())
numbers = [0] * N
for i in range(0,N):
numbers[i] = int(sys.stdin.readline())
for i in range(0,N):
for j in range(i,N):
if numbers[i] >= numbers[j]:
dummy = numbers[i]
numbers[i] = numbers[j]
numbers[j] = dummy
for i in range(0,N):
print(numbers[i])
(input을 사용하는 것보다 sys.stdin.readline()을 사용하는 것이 속도가 빠르기 때문에 input을 사용하지 않았다.)
처음엔 버블정렬 방식으로 오름차순 정렬을 하려했다.
하지만 이 문제에서는 1 <= N <= 1000000 으로 N의 범위가 굉장히 크기 때문에 시간 초과가 떴다.
그래서 내장되어 있는 sort() 함수로 오름차순 정렬을 시행하였다.
정답 코드
import sys
N = int(sys.stdin.readline())
numbers = [0] * N
for i in range(0,N):
numbers[i] = int(sys.stdin.readline())
numbers.sort()
for i in range(0,N):
print(numbers[i])
728x90
'파이썬 알고리즘 문제 풀이' 카테고리의 다른 글
BaekJoon Online Judge 10814번 파이썬 (1) | 2022.05.03 |
---|---|
BaekJoon Online Judge 11651번 파이썬 (0) | 2022.05.02 |
BaekJoon Online Judge 11650번 파이썬 (0) | 2022.05.02 |
BaekJoon Online Judge 11052번 파이썬 (0) | 2022.04.29 |
BaekJoon Online Judge 2225번 (0) | 2022.04.26 |