문제
https://www.acmicpc.net/problem/10989
문제는 위 사이트를 참고해주세요.
풀이
import sys
N = int(input())
lst = [0] * 100001
for i in range(N):
x = int(sys.stdin.readline())
lst[x] = lst[x] + 1
for i in range(len(lst)):
if lst[i] != 0:
for j in range(lst[i]):
print(i)
저번 글과 똑같이 풀었는데
이번에는 메모리 제한이 있어서 힘들었네요.
먼저 문제의 최대 개수인 10,000,000개의 배열을 만들어줍니다.
10,000,000까지 반복문을 돌려야하기 때문에 미리 10,000,001개를 만들어줍니다.
첫 반복문에서 숫자를 입력받고
입력받은 숫자에 해당하는 index에 +1씩 해줍니다.
두 번째 반복문에서 0값이 아닌 경우에만
세 번째 반복문을 실행하는데
리스트의 값을 가지고 오면 현재 인덱스에 해당하는 숫자가 몇번 입력됐는지 알 수 있고
입력 된 수만큼 출력도 해줍니다.
결과
'IT > 알고리즘' 카테고리의 다른 글
1일 N알고리즘 - #41 (0) | 2020.06.11 |
---|---|
1일 N알고리즘 - #40 (0) | 2020.06.09 |
1일 N알고리즘 - #38 (0) | 2020.06.08 |
1일 N알고리즘 - #37 (0) | 2020.06.06 |
1일 N알고리즘 - #36 (0) | 2020.06.06 |
댓글