๐Ÿงฉ Algorithm/[BOJ] Bronze

BOJ 3052๋ฒˆ : ๋‚˜๋จธ์ง€ (C++/Bronze 2)

devCloud 2022. 8. 12. 12:20
728x90
 

3052๋ฒˆ: ๋‚˜๋จธ์ง€

๊ฐ ์ˆ˜๋ฅผ 42๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋Š” 39, 40, 41, 0, 1, 2, 40, 41, 0, 1์ด๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ’์€ 6๊ฐœ๊ฐ€ ์žˆ๋‹ค.

www.acmicpc.net

๋ฌธ์ œ

๋‘ ์ž์—ฐ์ˆ˜ A์™€ B๊ฐ€ ์žˆ์„ ๋•Œ, A%B๋Š” A๋ฅผ B๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€ ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 7, 14, 27, 38์„ 3์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋Š” 1, 2, 0, 2์ด๋‹ค. ์ˆ˜ 10๊ฐœ๋ฅผ ์ž…๋ ฅ๋ฐ›์€ ๋’ค, ์ด๋ฅผ 42๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•œ๋‹ค. ๊ทธ ๋‹ค์Œ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ’์ด ๋ช‡ ๊ฐœ ์žˆ๋Š”์ง€ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

์ž…๋ ฅ

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

 

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์—, 42๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ, ์„œ๋กœ ๋‹ค๋ฅธ ๋‚˜๋จธ์ง€๊ฐ€ ๋ช‡ ๊ฐœ ์žˆ๋Š”์ง€ ์ถœ๋ ฅํ•œ๋‹ค.


์˜ˆ์ œ ์ž…๋ ฅ

39
40
41
42
43
44
82
83
84
85

์˜ˆ์ œ ์ถœ๋ ฅ

6

ํ’€์ด

โ— vector n(n) : n๊ฐœ์˜ ์›์†Œ๋ฅผ 0์œผ๋กœ ์ดˆ๊ธฐํ™” ์‹œ์ผœ์„œ ๋งŒ๋“ ๋‹ค.

โ— n.erase(unique(n.begin(), n.end()), n.end()) : ์ค‘๋ณต ์ œ๊ฑฐ

    - unique() : ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ์›์†Œ๋“ค์„ ์•ž์—์„œ๋ถ€ํ„ฐ ์ฑ„์›Œ๋‚˜๊ฐ„๋‹ค. ๋‚˜๋จธ์ง€ ์ž๋ฆฌ์—๋Š” ๊ธฐ๋ณธ ๋ฐฐ์—ด ์›์†Œ ๊ฐ’์ด ์ฑ„์›Œ์ง„๋‹ค.

Solution

#include <iostream>
#include<vector>
#include<algorithm>
using namespace std;

vector<int> n(10);
int main() {
    for(int i=0; i<n.size(); i++){
        cin >> n[i];
        n[i] = n[i] % 42;
    }
    sort(n.begin(), n.end());
    n.erase(unique(n.begin(), n.end()), n.end());
    cout << n.size();
    return 0;
}
728x90