본문 바로가기
🔑 알고리즘/백준 Python

백준10989번 파이썬 #12정렬 -3)수 정렬하기3

by Tamii 2020. 10. 14.
반응형

 

 

 

내가 푼 코드

초기 내가 한거 (메모리 초과)

import sys
n=int(sys.stdin.readline())
    num=[int(sys.stdin.readline()) for i in range(n)]
    arr=[0]*10001

    for i in num:
        arr[i]+=1

    for k in range(0,10001):
        if arr[k]!=0:
            for t in range(arr[k]):
                sys.stdout.write(str(k)+'\n')

 

 

-num ,arr  리스트 2개를 썼기 때문에 메모리 부분에서 오류가 났다.

-sys 라이브러리를 사용함으로써 메모리 용량을 줄였다.

 

 

※sys 라이브러리 자주 사용하는 것

num=int(sys.stdin.readline())	#input


sys.stdout.write(str(k)+'\n')	#print

sys는 print 시 개행문자가 없기 때문에 '\n'을 넣어줌

int 형 출력불가해서 str(k)로 바꿈

 

 

 

고친 코드

import sys

if __name__=='__main__':
    n=int(sys.stdin.readline())
    arr=[0]*10001

    for i in range(n):
        arr[int(sys.stdin.readline())]+=1

    for k in range(0,10001):
        if arr[k]!=0:
            for t in range(arr[k]):
                sys.stdout.write(str(k)+'\n')

 

댓글