수 정렬하기 3
https://www.acmicpc.net/problem/10989
수 정렬하기 2번과 다르지 않은 문제라고 생각했는데 똑같은 방식으로 코드를 작성하면 '메모리 초과'가 떴다.
다른 방법을 알아보았다.
1
2
3
4
5
6
7
8
9
|
import sys
N = int(sys.stdin.readline())
numbers = [0] * 10001
for _ in range(N):
numbers[int(sys.stdin.readline())] += 1
for i in range(10001):
if numbers[i] != 0:
for j in range(numbers[i]):
print(i)
|
cs |
이 경우는 중복된 수가 입력될 수 있다. 그래서 수의 개수를 세는 방식으로 몇 개씩 입력되었는지 확인하고,
입력된 경우(numbers[i] != 0 인 경우)엔 저장된 횟수만큼 수를 출력하도록 한다.
참고한 사이트
https://pacific-ocean.tistory.com/67
'알고리즘' 카테고리의 다른 글
(파이썬) 백준 알고리즘 - 1427번 (0) | 2021.08.26 |
---|---|
(파이썬) 백준 알고리즘 - 2108번 / Counter (0) | 2021.08.26 |
백준 알고리즘(파이썬) - 2751번 (0) | 2021.08.25 |
백준 알고리즘(파이썬) - 2750번 / 선택정렬 (0) | 2021.08.25 |
백준 알고리즘(파이썬) - 1436번 / in, not in(포함연산자) (0) | 2021.08.24 |