728x90
반응형
10989번: 수 정렬하기 3
첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.
www.acmicpc.net
1. 문제 설명
2. 풀이과정
어떤 정렬 방법을 사용하더라도 메모리 초과가 발생한다. 하여 메모리를 입력의 최댓값인 10,000까지로 지정하여 각 값을 입력받을 때마다 해당 위치에 개수를 증가시킨 후, 개수 별로 출력해 주는 방식으로 해결하였다.
- sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
- 입력할 수의 개수를 입력받는다. N = int(sys.stdin.readline())
- 최대 입력가능 값인 10,000까지 인덱스 번호가 있는 리스트를 생성하고 초기화한다. li = [0] * 10001
- 수의 개수만큼 반복하며 값을 입력받고 for i in range(N)
- 입력받은 값을 인덱스 번호로 갖는 위치의 값을 1 증가시킨다. li[int(sys.stdin.readline())] += 1
- 각 인덱스 별로 하나씩 추출하여 for i in range(10001)
- 만약 각 인덱스 번호의 값을 받았다면 if (li[i] != 0)
- 인덱스 값만큼 반복하여 해당 값을 출력한다. for j in range(li[i]): print(i)
반응형
3. 소스코드
import sys
N = int(sys.stdin.readline())
li = [0] * 10001
for i in range(N):
li[int(sys.stdin.readline())] += 1
for i in range(10001):
if (li[i] != 0):
for j in range(li[i]):
print(i)
728x90
반응형
'백준' 카테고리의 다른 글
[백준] 1427번 : 소트인사이드 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.17 |
---|---|
[백준] 2920번 : 음계 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.17 |
[백준] 1920번 : 수 찾기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.15 |
[백준] 2775번 : 부녀회장이 될테야 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.15 |
[백준] 2667번 : 단지번호붙이기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.15 |
[백준] 2606번 : 바이러스 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.15 |
[백준] 2609번 : 최대공약수와 최소공배수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.13 |
[백준] 1003번 : 피보나치 함수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.13 |