-
[BOJ 10989, Python 3] 수 정렬하기 3알고리즘/BOJ 2021. 9. 3. 16:42반응형
https://www.acmicpc.net/problem/10989
풀이
메모리 제한이 많이 작습니다. 그런데 정렬할 수의 최댓값이 10,000이므로 크기가 10001인 배열을 만들고, 어떤 수 x가 있으면 arr[x] += 1을 해주어서 마지막에 출력할 때는 배열의 인덱스를 해당 위치의 리스트가 가지고 있는 값만큼 출력을 해주면 됩니다.
이런 정렬은 카운팅 소트(Counting sort)라고 부르며 자세한 내용은 https://00ad-8e71-00ff-055d.tistory.com/36 이 글을 참조하시면 됩니다.
코드
123456789input = __import__('sys').stdin.readlinen = int(input())arr = [0] * 10001for i in range(n):x = int(input())arr[x] += 1for i in range(10001):for j in range(arr[i]):print(i)cs 반응형'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ 22981, Python 3] 휴먼 파이프라인 (0) 2021.09.04 [BOJ 13334, Python 3] 철로 (0) 2021.09.03 [BOJ 4619, Python 3] 루트 (0) 2021.09.03 [BOJ 17489, Python 3] 보물 찾기 (0) 2021.09.01 [BOJ 17488, Python 3] 수강 바구니 (0) 2021.09.01