https://www.acmicpc.net/problem/10989
10989번: 수 정렬하기 3
첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.
www.acmicpc.net
간단한 문제였는데 정답비율이 너무 낮아서 당황했다.
간단한 sorting 문제였기 때문에 sort()를 사용하여 제출했는데
계속 메모리 초과 문제가 떴다.
<기존 코드>
n = int(input())
lst=[]
for i in range(n):
lst.append(int(input()))
lst.sort()
for i in range(len(lst)):
print(lst[i])
구글링을 해본 결과
1. sort() 함수를 사용하면 메모리가 초과된다.
2. input 대신 sys를 이용하자.
import sys
n = int(sys.stdin.readline())
arr = [0] * 10001
for _ in range(n):
num = int(sys.stdin.readline())
arr[num] += 1 # 중복되는 수가 존재하므로 개수를 count하여 배열에 넣어준다.
for i in range(10001):
if arr[i] != 0:
for j in range(arr[j]):
print(i)
728x90
'자료구조 & 알고리즘 & cs > CodingTest' 카테고리의 다른 글
[python] 백준 18870번 - 좌표압축 (시간초과 문제) (0) | 2023.03.16 |
---|---|
[python] 백준 2108번 - 통계학 (0) | 2023.03.16 |
프로그래머스 LEVEL2 - 오픈채팅방 (0) | 2022.06.26 |
프로그래머스 LEVEL1 - 나누어 떨어지는 숫자 배열 (0) | 2022.06.26 |
프로그래머스 LEVEL1 - [1차] 비밀지도 (0) | 2022.06.20 |