본문 바로가기

알고리즘/BOJ

[C++] 백준 10989번 - 수 정렬하기 3


0. 문제

 

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

 

1. 아이디어

 

1) counting sort 를 이용한다!

 

2. 소스코드

 

#include <iostream>
#include <memory.h>
int main()
{
	std::ios_base::sync_with_stdio(0);
	std::cin.tie(0);
	int N, arr[10001];
	std::cin >> N;
	memset(arr, 0, sizeof(arr));

	for (int i = 0; i < N; i++)
	{
		int input;
		std::cin >> input;

		arr[input]++;
	}

	for (int i = 1; i <= 10000; i++)
		while (arr[i]--)
			std::cout << i << '\n';
}

 

3. 결과

 

 

4. 피드백

 

  • 처음엔 메모리초과, 그 다음엔 시간초과로 애먹었다.. 단순히 코드를 짜는게 아니라 최소한의 시간과 메모리로 구현할 수 있는 방법을 찾자 ㅜㅜ