14584_암호 해독
링크
https://www.acmicpc.net/problem/14584
풀이
1) 문자열을 1씩 올리면서 문자열에 주어진 단어들이 있는지 탐색합니다.
2) 있으면 문자열을 출력하고 종료.
문자열 탐색 방법
1 2 3 |
if (str.find(word[j]) != string::npos) { //문자열에 찾는 문자열이 있을 경우 } |
코드
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 |
//14584_암호 해독 #include <iostream> #include <string> using namespace std;
int main() { int n, i, j; string str; //암호 문자열 string word[20]; //단어
cin >> str; cin >> n;
for (i = 0; i < n; ++i) { cin >> word[i]; }
for (i = 0; i < 25; ++i) { for (j = 0; j < n; ++j) { //문자열에 단어가 있는지 탐색 if (str.find(word[j]) != string::npos) { cout << str << endl; return 0; } }
for (j = 0; j < str.length(); ++j) { //문자열 변형 (모든 문자 1씩 밀어냄) str[j] = (str.at(j) - 'a' + 1) % 26 + 'a'; } } } |
'PS > BOJ' 카테고리의 다른 글
[백준 BOJ][DP] 11727 2xn 타일링 2 (5) | 2018.05.27 |
---|---|
[백준 BOJ][DP] 11726 2xn 타일링 (0) | 2018.05.27 |
[백준 BOJ] 1152 단어의 개수 (2) | 2018.05.16 |
[백준 BOJ] 10250 ACM 호텔 (0) | 2018.05.13 |
[백준 BOJ] 1933 분수찾기 (0) | 2018.05.13 |