😈 알고리즘/💻 백준
💻 10989번 문제 : 수 정렬하기 3
Buᐢ༝ᐢy
2022. 10. 31. 19:16
10989번: 수 정렬하기 3


#include <iostream>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int N = 0;
cin >> N;
int arr[10001] = {};
for (int i = 0; i < N; i++)
{
int tmp = 0;
cin >> tmp;
arr[tmp]++;
}
int arrNum = sizeof(arr) / sizeof(int);
for (int i = 0; i < arrNum; i++)
{
for (int j = 0; j < arr[i]; j++)
{
cout << i << "\n";
}
}
}
메모리 (KB) | 시간 (ms) | 코드 길이 (B) |
2020 | 1372 | 381 |
🤔 다시 풀어보기
처음에는 아래와 같이 풀었는데 메모리 초과
로 인해 틀렸다.
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
long long N = 0;
long long numArr[10000001] = {};
cin >> N;
for (long long i = 0; i < N; i++)
{
cin >> numArr[i];
}
sort(numArr, numArr + N);
for (long long i = 0; i < N; i++)
{
cout << numArr[i]<<"\n";
}
}
다른 분들의 질문글을 읽어보면 Quick Sort
나 Counting Sort
를 이용하라는 글이 심심찮게 보인다. 해당 내용 방법을 찾다가 쉽게 풀 수 있지 않을까 해서 위에 제출한 내용처럼 풀었고 맞았지만 찝찝했다. 정렬 문제인데 일차원 배열로 풀었기 때문이다. 다음에 제시한 방법을 더 공부해서 다시 풀어볼 예정이다.
Uploaded by N2T