← Back to List

16674번: 2018년을 되돌아보며 ↗

Solutions

C++14
811 B | 735 chars
#include <iostream>
using namespace std;
int N,check[15],C;
int main()
{
    cin>>N;
    while(N>0)
    {
        check[N%10]++;
        N/=10;
    }

    for(int x=0;x<10; x++)
    {
        if(x!=2&&x!=0&&x!=1&&x!=8)
        {
            if(check[x]>0)
            {
                C=1;
            }
        }
    }
    if(C==1) // 관련 없는 수
    {
        cout<<0;
        return 0;
    }
    
    if(check[0]>0&&check[1]>0&&check[2]>0&&check[8]>0) C=1;
    if(C==0) // 관련 있는 수이나 밀접한 수가 아님
    {
        cout<<1;
        return 0;
    }

    C=0;
    if(check[0]==check[1]&&check[1]==check[2]&&check[2]==check[8]) C=1;
    
    if(C==0) //밀접한 수이나 묶여있는 수가 아님
    {
        cout<<2;
        return 0;
    }
    cout<<8; //묶여 있는 수

}