반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. [백준 알고리즘] 백준 10989번 수 정렬하기 3 파이썬(Python)

1) 문제번호 : 10989번

 

2) 문제 출처

https://www.acmicpc.net/problem/10989

 

10989번: 수 정렬하기 3

첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.

www.acmicpc.net

 

2. 문제

N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.

 

3. 제약사항

 

4. 입력

첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.

 

5. 출력

첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.

 

6. 풀이

- 이 문제는 그냥 sort()를 사용하면 메모리가 초과된다. 수 정렬하기 1, 2에서는 메모리가 256MB지만 이 문제는 8MB라 배열에 숫자가 들어오면 그 숫자의 위치를 1씩 카운트를 하여 출력하면 된다.

 

7. 소스 코드

import sys
input=sys.stdin.readline

N = int(input()) # 수의 개수

num = [0] * 10001

for _ in range(N) :
    temp = int(input())
    num[temp] += 1

for i in range(10001) :
    if num[i] != 0 :
        for j in range(num[i]) :
            print(i)

 


 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기