πŸ• 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;
}
λ°˜μ‘ν˜•