코딩테스트 연습/백준

[백준] 10989번 : 수 정렬하기 3 in python 파이썬

슈퍼짱짱 2019. 11. 11. 08:00
반응형

파이썬으로 백준풀기 :: 10989번 수 정렬하기 3



https://www.acmicpc.net/problem/10989




코드


1
2
3
4
5
6
7
import sys
= [0]*10000
= int(sys.stdin.readline())
for _ in range(n) :
    c[int(sys.stdin.readline())-1+= 1
for i in range(10000) :
    [print(i + 1for _ in range(c[i])]
cs




이 문제는 아주아주 예민한 문제이다. 메모리가 상당히 적은 부분만 할당되기 때문에 코드를 딱 한 글자만 고쳐도 통과가 되기도, 안 되기도 한다.


애초에 할당되는 메모리가 적기때문에 input을 처음에 다 받아서 저장하면 무조건 메모리 초과가 뜬다. input을 따로 저장하지 않고 해결해야 한다.


이 문제에 몇 가지 팁이 있다면,


1. input() 대신 sys.stdin.readline() 으로 받을 것

2. for문에서 range() 안에 sys.stdin.readline() 을 넣지말고 꼭 n = int(sys.stdin.readline()) 으로 따로 뺄 것(실제 이거 하나로 성패가 갈림)

3. for문에서도 i가 필요 없는 부분은 _ 로 처리할 것 등이 있다.



반응형