문제
"맞았습니다"코드
#include <bits/stdc++.h>
using namespace std;
int n, num;
int arr[10001];
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n;
for(int i = 0; i < n; i++){
cin >> num; arr[num]++;
}
for(int i = 1; i <= 10000; i++){
while(arr[i]){
cout << i << '\n'; arr[i]--;
}
}
return 0;
}
리뷰
이 문제는 sort() 함수를 쓰면 틀린다.
왜냐하면 메모리 제한이 8MB 이다.
int 는 4bytes니까. 문제 조건인 천 만개 배열을 선언하면 40MB 를 차지한다.
10000 보다 작은 자연수만 입력으로 들어오니까,
10000을 배열의 인덱스로 두고.
인덱스에 해당하는 숫자의 '개수'를 배열의 값으로 저장해서 해결하면 된다.
728x90
'알고리즘 > 백준' 카테고리의 다른 글
단어 정렬 백준 1181 c++ (0) | 2021.12.18 |
---|---|
수 정렬하기 5 백준 15688 c++ (0) | 2021.12.18 |
소문난 칠공주 백준 1941번 c++ (0) | 2021.12.12 |
계란으로 계란치기 백준 16987번 c++ (0) | 2021.12.11 |
암호 만들기 백준 1759 c++ (0) | 2021.12.11 |