๐Ÿ• Baaaaaarking/0x03๊ฐ• - ๋ฐฐ์—ด

[BOJ][C++] ๋ฐฑ์ค€ 1475๋ฒˆ : ๋ฐฉ ๋ฒˆํ˜ธ

์„ ๋‹ฌ 2021. 12. 22. 09:44
๋ฐ˜์‘ํ˜•

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

 

1475๋ฒˆ: ๋ฐฉ ๋ฒˆํ˜ธ

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

www.acmicpc.net

 

๋ฌธ์ œ

๋‹ค์†œ์ด๋Š” ์€์ง„์ด์˜ ์˜†์ง‘์— ์ƒˆ๋กœ ์ด์‚ฌ์™”๋‹ค. ๋‹ค์†œ์ด๋Š” ์ž๊ธฐ ๋ฐฉ ๋ฒˆํ˜ธ๋ฅผ ์˜ˆ์œ ํ”Œ๋ผ์Šคํ‹ฑ ์ˆซ์ž๋กœ ๋ฌธ์— ๋ถ™์ด๋ ค๊ณ  ํ•œ๋‹ค.

๋‹ค์†œ์ด์˜ ์˜†์ง‘์—์„œ๋Š” ํ”Œ๋ผ์Šคํ‹ฑ ์ˆซ์ž๋ฅผ ํ•œ ์„ธํŠธ๋กœ ํŒ๋‹ค. ํ•œ ์„ธํŠธ์—๋Š” 0๋ฒˆ๋ถ€ํ„ฐ 9๋ฒˆ๊นŒ์ง€ ์ˆซ์ž๊ฐ€ ํ•˜๋‚˜์”ฉ ๋“ค์–ด์žˆ๋‹ค. ๋‹ค์†œ์ด์˜ ๋ฐฉ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ํ•„์š”ํ•œ ์„ธํŠธ์˜ ๊ฐœ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•˜์‹œ์˜ค. (6์€ 9๋ฅผ ๋’ค์ง‘์–ด์„œ ์ด์šฉํ•  ์ˆ˜ ์žˆ๊ณ , 9๋Š” 6์„ ๋’ค์ง‘์–ด์„œ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.)

์ž…๋ ฅ

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

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ํ•„์š”ํ•œ ์„ธํŠธ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

ํ’€์ด

#include <iostream>
#include <vector>

using namespace std;

int freq[9];

int main(void) {
    int N;
    cin >> N;
        
    while(N) {
        int tmp = N%10; //์ผ์˜ ์ž๋ฆฌ๋ถ€ํ„ฐ ์ฐจ๋ก€๋กœ ์ˆซ์ž ํ•˜๋‚˜์”ฉ ๋–ผ์–ด๋‚ด๊ธฐ
        
        if(tmp == 9)    //์ˆซ์ž๊ฐ€ 9์ผ๋•Œ๋Š” 6์œผ๋กœ ์นด์šดํŠธ
            freq[6]++;
        else            //๊ทธ ์™ธ์—๋Š” ํ•ด๋‹นํ•˜๋Š” ์ˆซ์ž๋กœ ์นด์šดํŠธ
            freq[tmp]++;
        
        N /= 10;
    }
    
    //์ˆซ์ž 9๋˜๋Š”6์€ ์„ธํŠธ ํ•˜๋‚˜๋‹น ๋‘๊ฐœ์”ฉ ์žˆ์œผ๋ฏ€๋กœ ๋‚˜๋ˆ„๊ธฐ 2, ์ด๋•Œ ๋‚˜๋จธ์ง€๊ฐ€ ์—†๊ฒŒ ํ•ด์•ผํ•จ (์„ธํŠธ๊ฐ€ ๋ถ€์กฑํ•˜๋ฉด ์•ˆ๋˜๋‹ˆ๊นŒ)
    freq[6]++;
    freq[6] /= 2;
    
    int max = 0;
    for(int i=0; i<9; i++){
        if(freq[i] > max)
            max = freq[i];
    }
    cout << max;
}
๋ฐ˜์‘ํ˜•