10989. 수 정렬하기 3 풀이
난이도: Bronze I
문제 주소: https://www.acmicpc.net/problem/10989
문제 풀이
아이디어만 떠올리면 굉장히 간단한 문제다
주어지는 숫자의 갯수는 10,000,000만개라 수행시간도 부족하고 메모리도 8mb만 주어지기 때문에 입력받는 모든 숫자를 저장할수 조차없다
하지만 숫자의 범위는 1~10000이니 배열 1만개만 있으면 들어오는 숫자의 갯수를 세는 식으로 접근하면 정말 쉬운 문제이다
근대 이 아이디어 떠올리는게 어려워서 절대로 브론즈1문제는 아닌거 같다
예전에 한번 풀었던 문제이지만 오랜만에 봐서 생각해내는데 시간이 좀 걸렸다
최종 코드
#include <iostream>
#include <vector>
#include <algorithm>
#include <iomanip>
#include <math.h>
#include <string>
using namespace std;
int num[100001];
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n;
cin >> n;
for (int i = 0; i < n; i++) {
int t;
cin >> t;
num[t]++;
}
for (int i = 0; i < 100001; i++) {
if (!num[i])continue;
for (int j = 0 ; j < num[i]; j++) cout << i << "\n";
}
return 0;
}
'Algorithm > 백준' 카테고리의 다른 글
| [백준] 11053 - 가장 긴 증가하는 부분 수열 (0) | 2026.03.13 |
|---|---|
| [백준] 1654 - 랜선 자르기 (0) | 2026.03.13 |
| 백준 - 15829 (0) | 2026.03.08 |
| 백준 - 2231 (0) | 2026.03.07 |
| 백준 - 1008 (0) | 2026.03.06 |