본문 바로가기

하루하나코딩

백준 1107 : 리모컨

코드

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int wrbtn[10];
int N, M;
vector<int> v;

bool isnotwr(int a){
	
	int temp = a;
	v.clear();
	if(temp == 0) v.push_back(0);
	
	while(temp > 0){
		v.push_back(temp%10);
		temp /= 10;
	}
	
	for(int i = 0; i < v.size(); i++){
		for(int j = 0; j < M; j++){
			if(v[i] == wrbtn[j]){
				return false;
			}
		}
	}
	return true;
}

int main(){
		
	cin >> N;
	cin >> M;
	
	for(int i = 0; i < M; i++){
		cin >> wrbtn[i];
	}
	
	int minn = 999999;
		
	for(int i = 0; i <= 1000001; i++){	
		if(isnotwr(i)){
			int ans = v.size()+ abs(i-N);
			minn = min(ans, minn);
		}
	}
	int compare;
	if(N > 100) compare = N - 100;
	else compare = 100 - N;
	
	cout << min(minn, compare);

		
	return 0;
}

알게된 점

브루트 포스는

와일문보다는

포문을 쓰도록 하자.

'하루하나코딩' 카테고리의 다른 글

백준 1748 : 수 이어 쓰기 (1) c++  (0) 2023.04.12
백준 4375 : 1 c++  (0) 2023.04.12
백준 1463 : 1로 만들기 c++  (0) 2023.04.05
백준 1074 : Z c++  (0) 2023.04.04
백준 1012 : 유기농 배추 c++  (0) 2023.04.04