728x90
출처
https://www.acmicpc.net/problem/10989
내 풀이
#include<iostream>
using namespace std;
int N = 0;
int input_number = 0;
int number[10001] = { 0, };
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin >> N;
for (int i = 0; i < N; i++)
{
cin >> input_number;
number[input_number]++;
}
for (int i = 1; i <= 10000; i++)
{
for (int j = 0; j < number[i]; j++)
{
cout << i << "\n";
}
}
}
해설
첫째 줄에 개수가 천만개까지 입력될 수 있기 때문에 정렬을 하면 시간 초과가 나온다.
따라서 입력될 수 있는 수 10000까지의 수의 정보를 저장할 number 배열 선언하고 N만큼 값을 입력 받고
수가 입력되면 ++ 형식으로 수가 몇번이나 입력받았는지 저장하고 출력해주었다.
느낀점
기초를 튼튼히 쌓아야 나중에 어려운 문제도 쉽게 응용하여 풀 수 있을거 같다.
'백준 코딩테스트 > 실버' 카테고리의 다른 글
9012) 괄호 (C++) (0) | 2022.05.08 |
---|---|
2108) 통계학 (C++) (0) | 2022.05.08 |
2751) 수 정렬하기 2 (C++) (0) | 2022.05.07 |
10866) 덱 (C++) (0) | 2022.05.07 |
2164) 카드2 (C++) (0) | 2022.05.05 |