반응형
문제 출처 :
https://www.acmicpc.net/problem/14626
알고리즘 분석 :
문제 해결에 필요한 사항
1. 구현
이 문제를 해결하기위해 *에 대한 처리를 잘 생각해보아야한다.
*은 결국 0~9사이 수이다.
따라서 우리는 *을 0~9부터 집어넣어 ISBN에 적합한 코드인지만 찾아주면 정답을 도출할 수 있다.
소스 코드 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | #include <iostream> #include <cstdio> #include <string> using namespace std; int main() { string str; cin >> str; int ans = 0; int chk = 1; int pos, val; for (int val = 0; val <= 9; val++) { ans = 0; chk = 1; for (int i = 0; i < str.size() - 1; i++) { if (str[i] == '*') ans += val * chk; else ans += (str[i] - '0') * chk; chk == 1 ? chk = 3 : chk = 1; } ans += str[str.size() - 1] -'0'; if (ans % 10 == 0) { cout << val << endl; break; } } return 0; } // This source code Copyright belongs to Crocus // If you want to see more? click here >> | Crocus |
반응형
'Applied > 알고리즘 문제풀이' 카테고리의 다른 글
[1135번] 뉴스 전하기 (0) | 2017.12.02 |
---|---|
[1080번] 행렬 (0) | 2017.12.01 |
[14625번] 냉동식품 (2) | 2017.11.30 |
[5884번] 감시 카메라 (0) | 2017.11.29 |
[1062번] 가르침 (3) | 2017.11.28 |