알고리즘/BOJ

백준 1718번 암호

꾸준함. 2018. 10. 27. 16:42

문제 링크입니다: https://www.acmicpc.net/problem/1718


평문은 getline을 통해 받아야하는 것과 평문의 인덱스를 모듈러 연산을 통해 조절해야하는 것만 조심하면 쉽게 풀 수 있는 문제였습니다.


#include <iostream>

#include <string>

using namespace std;

 

int main(void)

{

        ios_base::sync_with_stdio(0);

        cin.tie(0);

        string s, key;

        getline(cin, s);

        cin >> key;

 

        string result;

        int idx = 0;

        for (int i = 0; i < s.length(); i++)

        {

                 if (s[i] == ' ')

                         result += ' ';

                 else if ((s[i] - '0') - (key[idx] - '0') <= 0)

                         result += (s[i] - '0') - (key[idx] - '0') - 1 + 26 + 'a';

                 else

                         result += (s[i] - '0') - (key[idx] - '0') - 1 + 'a';

                 idx = (idx + 1) % key.length();

        }

        cout << result << "\n";

        return 0;

}


개발환경:Visual Studio 2017


지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형