728x90
728x90
https://www.acmicpc.net/problem/2751
2751번: 수 정렬하기 2
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
www.acmicpc.net
왜 이런 문제가 이 난이도에 있을까 무조건 의심부터 시작했지만..
시간제한이 2초나 되서, 파이썬은 괜찮지 않을까 싶어 뚝딱뚝딱 제출했더니 역시나 시간초과였다!..
이 심플한 문제에 다른 풀이과정이 어떤게 있을까 생각했다.
리스트 크기를 1,000,000으로 정해두고 boolean으로 받아야 하나, 별 생각을 다 해봤는데.
sys로 숫자를 받아야 통과되는 문제인 듯 했다.
다른 방법도 있는 것 같지만.. sys를 사용해본적이 거의 없으니, 적용해보기로 했다.
이 한줄이 이렇게 드라마틱한 차이를 나타낼 수 있음이 신기하면서도 불편하다.
내가 뭐 NASA 같은 곳에서 일하지만 않다면 목숨 걸고 나노 단위의 시간초를 다룰 일이 얼마나 있겠냐만은,
그래도 신경쓸 부분임은 맞다.
sys에 대해 더 알아보고, 때에 따라 적용해보기로 했다.
이럴거면 input 대신 sys를 항상 쓰는게 낫지 않겠는가 싶다. 더 빨리 입력을 받아내니까.
사용하는 이유와 사용하지 않는 이유를 알아봐야겠다.
import sys
N = int(input())
nums = []
for i in range(N):
nums.append(int(sys.stdin.readline()))
nums.sort()
for i in nums:
print(i)
728x90
728x90
'[Python]BaekJoon.AC' 카테고리의 다른 글
[Python]백준 BaekJoon.AC 11650 : 좌표 정렬하기(sys, sort()) (0) | 2022.01.15 |
---|---|
[Python]백준 BaekJoon.AC 10989 : 수 정렬하기3(sys, list) (0) | 2022.01.14 |
[Python]백준 BaekJoon.AC 10814 : 나이순 정렬(list, sort()) (0) | 2022.01.13 |
[Python]백준 BaekJoon.AC 7568 : 덩치(list, for문) (0) | 2022.01.13 |
[Python]백준 BaekJoon.AC 2609 : 최대공약수와 최소공배수(유클리드 호제법) (0) | 2022.01.12 |
[Python]백준 BaekJoon.AC 1436 : 영화감독 숌(브루트포스, find()) (0) | 2022.01.11 |
[Python]백준 BaekJoon.AC 1181 : 단어 정렬(sort()) (0) | 2022.01.11 |
[Python]백준 BaekJoon.AC 1018 : 체스판 다시 칠하기(list, for문) (0) | 2022.01.10 |