알고리즘/문제 풀이

백준 1475 - 방 번호

qqlzzb 2022. 3. 23. 23:40

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

 

1475번: 방 번호

첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다.

www.acmicpc.net

풀이

입력받은 수의 한 자리씩 살펴보기 위해 %10 연산을 하며 각 자릿수를 배열에 저장한다.

이때 9와 6은 동일하다고 본다. 따라서 입력 받은 수의 모든 자릿수를 확인한 후에 6의 개수는 2로 나누어준다.

마지막으로 for 문을 돌면서 count 된 수 중 가장 큰 수를 변수에 저장해서 출력한다.

 

코드

#include <iostream>
using namespace std;

int max(int a, int b)
{
    return (a>=b)?a:b;
}

int n;
int cnt[9];

int main()
{
    cin>>n;
    while(n>0)
    {
        int x=n%10;
        n=n/10;

        if(x==9) cnt[6]++;
        else cnt[x]++;
    }

    cnt[6]=(cnt[6]+1)/2;

    int mcnt=0;
    for(int i=0; i<9; i++) mcnt=max(mcnt,cnt[i]);

    cout<<mcnt;
}

 

'알고리즘 > 문제 풀이' 카테고리의 다른 글

백준 1213 - 팰린드롬 만들기(C++)  (0) 2022.06.02
백준 4673 - 셀프 넘버  (0) 2022.03.29
백준 13015 - 별 찍기 - 23(C++)  (0) 2022.03.22
백준 1929 - 소수 구하기(C++)  (0) 2022.03.21
백준 1927 - 최소 힙  (0) 2022.03.20