Algorithm/๋ฐฑ์ค€(BOJ)

[๋ฐฑ์ค€ / C++] 10989๋ฒˆ: ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 3 ํ’€์ด

meeeeejin 2020. 7. 21. 15:30

๋ฌธ์ œ ์„ค๋ช…

 

https://www.acmicpc.net/problem/10989

 

10989๋ฒˆ: ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 3

์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 10,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆ˜๋Š” 10,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค.

www.acmicpc.net

 

๋ฌธ์ œ

N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 10,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆ˜๋Š” 10,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค.

 

์ถœ๋ ฅ

์ฒซ์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅํ•œ๋‹ค.

 

 

 

 

 

๋ฌธ์ œ ํ’€์ด

 

์‹œ๊ฐ„์ œํ•œ์ด 8์ดˆ์ด๊ณ  ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์ด 8MB์ธ๋ฐ, ์ตœ๋Œ€ N์˜ ๊ฐ’์ด 10,000,000์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ณดํ†ต์˜ ์ •๋ ฌ๋กœ๋Š” ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. 

 

์ด ๊ฒฝ์šฐ ์ •๋ ฌํ•ด์•ผ ํ•˜๋Š” ์ˆ˜์˜ ๋ฒ”์œ„๊ฐ€ 1 ์ด์ƒ 10,000 ์ดํ•˜์ด๋ฏ€๋กœ ํฌ๊ธฐ๊ฐ€ 10,000์ธ ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์„œ ํ•ด๋‹น ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 

 

์˜ˆ๋ฅผ ๋“ค์–ด ์ž…๋ ฅ์œผ๋กœ 2, 2, 3, 1, 5, 3์ด ๋“ค์–ด์™”์„ ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•ด๋ด…์‹œ๋‹ค. '1'์ด 1๊ฐœ, '2'๊ฐ€ 2๊ฐœ, 3์ด '2'๊ฐœ, '4'๊ฐ€ 0๊ฐœ, '5'๊ฐ€ 1๊ฐœ์ž…๋‹ˆ๋‹ค. ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๋ฅผ ํฌ๊ธฐ๊ฐ€ 6์ธ ๋ฐฐ์—ด์— ๋‹ด๋Š”๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. 

 

0 1 2 3 4 5
0 1 2 2 0 1

์ด๋•Œ ์ฃผ์˜ํ•  ์ ์€ ๋ฐฐ์—ด์˜ index๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฏ€๋กœ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๊ฐ€ ์ตœ๋Œ“๊ฐ’๋ณด๋‹ค 1 ์ปค์•ผ ํ•ฉ๋‹ˆ๋‹ค. 

์ˆซ์ž์˜ ๊ฐœ์ˆ˜๋ฅผ ์ €์žฅํ•œ ๋ฐฐ์—ด์„ ์™„์„ฑํ–ˆ๋‹ค๋ฉด, ํ•ด๋‹น ์ˆซ์ž๋ฅผ ๊ฐœ์ˆ˜๋งŒํผ ์ถœ๋ ฅํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. 

 

 

 

์ด ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ cin, cout, endl์„ ๊ทธ๋ƒฅ ์‚ฌ์šฉํ•˜๋ฉด ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋œน๋‹ˆ๋‹ค. 

1
2
3
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cs

์œ„ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•ด์„œ cin, cout ์†๋„๋ฅผ ๋†’์—ฌ์ฃผ๊ณ  endl ๋Œ€์‹  '\n'๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 

 

 

 

 

์†Œ์Šค์ฝ”๋“œ

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// 10989๋ฒˆ: ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 3
#include <iostream>
 
using namespace std;
 
int n;
int cnt[10001]; // ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฐ์—ด
 
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    
    int num;
    cin >> n;
    // ์ˆซ์ž์˜ ๊ฐœ์ˆ˜ ์„ธ๊ธฐ
    for (int i = 0; i < n; i++) {
        cin >> num;
        cnt[num]++;
    }
 
    // ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๋งŒํผ ์ถœ๋ ฅ
    for (int i = 1; i < 10001; i++) {
        while (cnt[i] != 0) {
            cout << i << '\n';
            cnt[i]--;
        }
    }
}
cs

 

 

 

 

 

 

 

 

๊ณต๋ถ€ํ•œ ๊ฒƒ์„ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ์ˆ˜์ •ํ•  ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ์•Œ๋ ค์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค :)

 

 

 

 

728x90