728x90
https://www.acmicpc.net/problem/10989
10989번: 수 정렬하기 3
첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.
www.acmicpc.net
수 정렬하는 문제인데 이제 메모리제한이 걸려있다
# 10989번 문제 : 수 정렬하기3
# 10만까지의 수가 주어지고 이를 오름차순으로 정렬하는 문제
# 메모리 제한이있다
import sys # 빠르게 입력을 받기 위해 sys입력을 이용
n = int(input())
chk_list = [0] * 10001 # 최대 1만까지 입력되기 때문에 그만큼의 배열을 생성
for i in range(n): # 입력받은 수의 배열index를 1씩늘리고 중복되는 수가 입력되면 1이상이 될것이다
m = int(sys.stdin.readline())
chk_list[m] += 1
for j in range(10001): # 배열 전체를 탐색하면서 1로 활성화되어있는 index를 출력해준다
if chk_list[j] != 0:
for k in range(chk_list[j]): # 만약 2라면 2번출력을 해준다
print(j)
빠른 입력을 위해 sys를 활용하였고 메모리 제한때매 배열로 체크하는 방법을 이용하여서 빈 배열을 만들어서 index를 출력하는 방식으로 풀어본 문제이다
728x90
'알고리즘 > 알고리즘 문제풀이' 카테고리의 다른 글
| 백준의 알고리즘 3053번 문제 (python) (0) | 2021.07.28 |
|---|---|
| 백준의 알고리즘 1157번 문제(python) (0) | 2021.07.27 |
| 백준의 알고리즘 2751번 문제(python) (0) | 2021.07.24 |
| 백준의 알고리즘 10814번 문제(python) (0) | 2021.07.23 |
| 백준의 알고리즘 1181번 문제(python) (0) | 2021.07.15 |