์ƒ์„ธ ์ปจํ…์ธ 

๋ณธ๋ฌธ ์ œ๋ชฉ

[๋ฐฑ์ค€(BOJ)] 10989๋ฒˆ: ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 3 (์ •๋ ฌ, C++)

PROGRAMMING/Algorithm

by koharin 2021. 8. 6. 19:06

๋ณธ๋ฌธ

728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“„ ๋ฌธ์ œํ’€์ด ๊ณผ์ •


๋‹จ์ˆœํžˆ ์ •๋ ฌํ•˜๋Š” ๋ฌธ์ œ์ธ์ค„ ์•Œ๊ณ  qsort๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ–ˆ์œผ๋‚˜, ๋ฉ”๋ชจ๋ฆฌ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. 

๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์€ ์ตœ๋Œ€ 8MB๊นŒ์ง€๋กœ, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์— ์œ ์˜ํ•ด์•ผ ํ•œ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋ก  ๋ฐฐ์—ด์— ๋ชจ๋“  ์ž…๋ ฅ์„ ์ €์žฅํ•ด์„œ sorting์„ ์ง„ํ–‰ํ•˜์ง€๋งŒ, ์ด ๋ฌธ์ œ์—์„  ๋ฉ”๋ชจ๋ฆฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐฐ์—ด์— ์ž…๋ ฅ ๊ฐ’์„ ์ €์žฅํ•˜๋ฉด ์•ˆ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์ž…๋ ฅ๋ฐ›์„ ๋•Œ๋งˆ๋‹ค ํ•ด๋‹น ์ˆ˜๋ฅผ ์ธ๋ฑ์Šค๋กœ ํ•ด๋‹น ์ˆ˜์— ๋Œ€ํ•œ ์นด์šดํŒ…์„ ํ•˜๋„๋ก ํ–ˆ๋‹ค. ๊ทธ๋Ÿผ ๊ฐ ์ธ๋ฑ์Šค๋งˆ๋‹ค ์ˆ˜๊ฐ€ ๋ช‡ ๋ฒˆ ๋‚˜ํƒ€๋‚˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ถœ๋ ฅ ์‹œ ์ธ๋ฑ์Šค์— ๋Œ€ํ•œ ๊ฐ’๋งŒํผ ๋ฐ˜๋ณตํ•˜์—ฌ ์ธ๋ฑ์Šค ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋„๋ก ํ–ˆ๋‹ค. ํ•ด๋‹น sorting ๋ฐฉ๋ฒ•์€ ์นด์šดํŒ… ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

๋˜ ์ฃผ์˜ํ•  ์ ์€, ๋ฐฐ์—ด ํฌ๊ธฐ๋Š” ์ž…๋ ฅ๋ฐ›๋Š” ๊ฐ’์ธ N์ด์ง€๋งŒ, ๋ฐฐ์—ด ํฌ๊ธฐ๋ฅผ N์œผ๋กœ ์žก๊ฑฐ๋‚˜ ์ถœ๋ ฅ ์‹œ N๋งŒํผ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฆฌ๋ฉด ๋ฉ”๋ชจ๋ฆฌ์ดˆ๊ณผ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. 1 ≤ N ≤ 10,000,000 ์ธ๋ฐ, ์ˆ˜์˜ ๋ฒ”์œ„๋Š” 10,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋ฏ€๋กœ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋Š” 10,000 ์ธ๋ฑ์Šค๊นŒ์ง€๋งŒ ๋‹ด์„ ์ˆ˜ ์žˆ์œผ๋ฉด ๋˜๊ณ , ์ถœ๋ ฅ ์‹œ์—๋„ 10,000 ๋ฒ”์œ„์˜ ์ˆ˜๋งŒ ๊ณ ๋ คํ•˜๋ฉด ๋œ๋‹ค.

 

 

๐Ÿ’ป ์ฝ”๋“œ


#include <bits/stdc++.h>
using namespace std;

int main(){
    int N;
    scanf("%d", &N);
    int count[10001]={0,};
    
    for(int i=0; i<N; i++){
        int num; scanf("%d", &num);
        count[num]++;
    }
    
    for(int i=0; i<10001; i++){
       for(int j=0; j<count[i]; j++) printf("%d\n", i);
    }  
}

 

 

๐Ÿ–จ ์ œ์ถœ ๊ฒฐ๊ณผ


728x90
๋ฐ˜์‘ํ˜•

๊ด€๋ จ๊ธ€ ๋”๋ณด๊ธฐ