작심 24/7

[SWEA] 1288번 새로운 불면증 치료법 (C++) 본문

SWEA/D2

[SWEA] 1288번 새로운 불면증 치료법 (C++)

모닝수박 2022. 1. 18. 15:23
 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

0~9까지의 숫자가 모두 있는 경우는

chk = 1111111111

로 표시된다.

 

OR 연산자를 이용하여

chk에 표시돼있는지 확인할 숫자를 확인한다.

#include <iostream>
using namespace std;
int T, N;
int main() {
	cin >> T;
	for (int t = 1; t <= T; t++) {
		cin >> N;
		int cnt = 0, chk = 0, num = N;
		while (++cnt) {
			num = N * cnt;
			while (num) { // 각 자릿수 하나씩 돌기
				chk |= 1 << (num % 10);
				num /= 10;
			}
			if (chk == (1 << 10) - 1) { // 0 ~ 9까지 1로 표시되면 끝
				cout << "#" << t << " " << cnt * N << "\n";
				break;
			}
		}
	}
}

'SWEA > D2' 카테고리의 다른 글

[SWEA] 1954번 달팽이 숫자 (JAVA)  (0) 2021.02.02
Comments