시간제한 : 5초 / 메모리 제한 : 8MB
[문제]
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
[예제]
https://www.acmicpc.net/problem/10989
[코드]
import sys
input = sys.stdin.readline
print = sys.stdout.write
N = int(input())
res = dict()
for i in range(N):
tmp = int(input())
if tmp in res:
res[tmp] = res[tmp]+1
else:
res[tmp] = 1
res = sorted(res.items())
for i in res:
for j in range(i[1]):
print("%s\n" % i[0])
시간 : 8764ms, 메모리 : 31860kb
[생각]
시간제한이 5초... 메모리 8MB.... 메모리를 어떻게 하면 적게 쓸지 생각하는 문제로 보인다.
풀이는 파이썬 딕셔너리로 값 넣고 key 기준으로 정렬하고 몇개 있는지 출력
C++에서면 map으로 똑같이 쓰면 될 것 같다. 이런 자료형을 쓰지 않고 어떻게 풀 수 있을까 생각을 해도 안떠올라서... 조금 아쉽다.
'알고리즘' 카테고리의 다른 글
백준(1644) - 소수의 연속합 (0) | 2022.12.12 |
---|---|
프로그래머스 - 신고 결과 받기 (0) | 2022.12.07 |
프로그래머스 부대복귀 (0) | 2022.12.06 |
[Python] 백준 1920번 수 찾기 (0) | 2022.10.10 |
[Programmers] Lv1. 시저 암호 (0) | 2022.09.28 |