-
백준(BOJ) 10989번 수 정렬하기 3알고리즘 풀이/백준(Boj) 2019. 7. 31. 15:03
문제: https://www.acmicpc.net/problem/10989
문제
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
나의 풀이:
시간복잡도 N을 요구하고 범위가 1~10000으로 정해져 있으니 기수 정렬을 통하여 크기를 기준으로 개수를 세주면 된다.
printf와 scanf로 입력을 받아줘서 시간을 줄이자
코드 ( C++ )
#include <iostream>
using namespace std;
int mycount[10000];
int N;
int main()
{
scanf("%d", &N);
for (int i = 0; i < N; ++i)
{
int num;
scanf("%d", &num);
// 0부터 시작이므로 num-1 인덱스를 1 추가 한다.
mycount[num-1]++;
}
for (int i = 0; i < 10000; ++i) {
// 개수가 0 이상이면 개수만큼 i+1 출력 해준다.
if (mycount[i] != 0)
{
for (int j = 0; j < mycount[i]; ++j)
{
printf("%d \n", i + 1);
}
}
}
return 0;
}
'알고리즘 풀이 > 백준(Boj)' 카테고리의 다른 글
백준(BOJ) 1019번 책 페이지 (0) 2019.08.03 백준(BOJ) 1449번 수리공 항승 (0) 2019.08.03 백준(BOJ) 1431번 시리얼 번호 (0) 2019.07.31 백준(BOJ) 1181번 단어 정렬 (0) 2019.07.31 백준(BOJ) 1966번 프린터 큐 (0) 2019.07.30