문제
https://www.acmicpc.net/problem/2751
(불러오기 오류..)

소스 코드
import sys
n=int(input())
arr=[]
for i in range(n):
arr.append(int(sys.stdin.readline().strip()))
s_arr=sorted(arr) #정렬 함수인 sorted는 파이썬 내장 함수이다.
for i in s_arr:
print(i)
정리
2750번 문제와 비슷한 문제인것 같아 비슷하게 코딩했더니 시간초과 오류와 런타임 오류가 났다.
이유는 2750번은 첫째줄에 주어진 수의 개수가 1 ≤ N ≤ 1,000 이었는데, 해당 문제는 1 ≤ N ≤ 1,000,000 이었기 때문에 시간초과 오류가 난것이었다.
힌트는 sys.stdin.readline() 이였다.
sys.stdin.readline()는 input()보다 입력을 받을 때 속도가 더 빠르다. 그 이유로는,
1. input()은 매개변수로 prompt message를 받아 입력을 받기 전에 prompt message를 출력해야한다.
2. 입력받은 값의 개행 문자를 삭제시키고 반환한다.
이러한 단계를 거치기 떄문에 input()은 sys.stdin.readline()보다 속도에서 느리다.
- sys.stdin.realine()에 대한 -
Python sys.stdin.readline() 사용 / 알고리즘 입력 받기
주로 파이썬에선 알고리즘을 입력받을 때 input() 을 많이 씁니다. 하지만 input() 을 사용하면 종종 시간 초과 에러가 뜰 때가 있습니다. 이를 방지하기 위해서 사용하는 sys.stdin.input() 을 소개하고
yeomss.tistory.com
1. import sys 를 임폴트
2. sys.stdin.readline() 이용
2. sorted() 함수를 이용!!! (지금까지 몰랐다...)
'Python > Baekjoon' 카테고리의 다른 글
| [백준] 2588번 : 곱셈 (Python) (0) | 2024.11.24 |
|---|---|
| [백준] 10869번 : 사칙연산 (Python) (0) | 2024.11.24 |
| [백준] 2750번 : 수 정렬하기 (Python) (0) | 2024.07.16 |
| [백준] 2557번 : Hello World (Python) (0) | 2024.07.01 |