코드
#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 |