[SWEA] 1288. 새로운 불면증 치료법 (C++, 라이브러리 X)


비트연산자 기본문제

풀이

int형 변수 check를 선언하여 숫자 하나당 1bit씩 할당.

10개의 bit이 모두 1이 될 때까지 체크.

코드 GitHub

#include<iostream>
using namespace std;

int main()
{
	int test_case;
	int T;
	freopen("input.txt", "r", stdin);
	cin>>T;
	for(test_case = 1; test_case <= T; ++test_case)
	{
        int N;
        int check = 0;
        int CN = 0;

        cin >> N;

        while(true) {
            CN += N;

            int tmp = CN;

            while(tmp > 0) {
                check |= 1 << (tmp % 10);
                tmp /= 10;
            }

            if(check == (1 << 10) - 1) break;
        }

        cout << '#' << test_case << ' ' << CN << endl;
	}
	return 0;
}

댓글남기기