728x90
백준
1107 리모컨
#include <bits/stdc++.h>
using namespace std;
int n,btn_num, ans;
bool crash[11];
string temp = "";
bool check(int n)
{
string str_n = to_string(n);
for (int i = 0; i < str_n.length(); ++i)
{
if (crash[str_n[i] - '0'] == true)
return false;
}
return true;
}
int main()
{
ios::sync_with_stdio(NULL);
cin.tie(NULL);
cout.tie(NULL);
cin >> n >> btn_num;
int ch = 100;
for (int i = 0; i < btn_num; ++i)
{
int tmp;
cin >> tmp;
crash[tmp] = true;
}
int cnt = abs(ch - n);
for (int i = 0; i < 1000000; ++i)
{
if (check(i) == true)
{
int se_cnt = abs(n - i) + to_string(i).length();
cnt = min(cnt, se_cnt);
}
}
cout << cnt;
}
- 브루트 포스를 사용해서 풀었다.
- for문의 경우 1000000번의 반복문을 도는데, 그 이유는 100에서 부터 시작하는 채널을 +를 사용하면 500000까지 499000 갈 수 있다. 반대로 오는경우 500000에서 까지 가려면 999900에서 -해야 하기 때문에 그렇게 정했다.
기획
기획에 온 힘을 바치고 있다. 힘드러 힘드러
그래도 괜찮게 적힌 것같은데, 내일이 발표니까 잘할 수 있겠..지..?
728x90
'Study > TIL(Today I Learned)' 카테고리의 다른 글
24.04.23 3차 기획 발표 (0) | 2024.04.25 |
---|---|
24.04.22 2차 기획발표 (2) | 2024.04.23 |
24.04.20 VeryBadChild (0) | 2024.04.20 |
24.04.19 C++ (0) | 2024.04.20 |
24.04.18 AWS 강연 (1) | 2024.04.18 |