주어진 수가 2018과 관련 없는 수인지, 관련있는 수인지, 밀접한 수인지, 묶여있는 수인지 구분해서 출력해주자
양의 정수 n의 범위가 int 범위에 포함 되지만 처리는 문자열 처리와 비슷하기에 입력을 문자열로 받는다.
각 자리의 수를 헤아리기위한 배열을 두어 각 자리의 수를 헤아리면 된다.
#include <iostream>
using namespace std;
int digits[10];
int main()
{
int res = 1;
char input[11];
cin >> input;
for (int i = 0; input[i] != '\0'; i++)
digits[input[i] - '0']++;
// Related
for (int i = 0; i < 10; i++)
{
if (i == 0 || i == 1 || i == 2 || i == 8)
continue;
if (digits[i] != 0)
{
res = 0; break;
}
}
if (res != 0)
{
res = 1;
if (digits[0] && digits[1] && digits[2] && digits[8])
{
res = 2;
if (digits[0] == digits[1] && digits[1] == digits[2] && digits[2] == digits[8])
res = 8;
}
}
cout << res;
return 0;
}
2019-03-31 23:23:13에 Tistory에서 작성되었습니다.