카이사르 암호
면접 대비시간 제한1초메모리 제한64 MB
문자열의 각 알파벳을 알파벳 순서로 k칸 밀어 암호문을 만들고, 공백과 마침표, 쉼표는 그대로 출력한다.
문제
율리우스 카이사르가 고안한 것으로 알려진 카이사르 암호를 구현한다.
암호화 과정은 다음과 같다.
-
평문을 알파벳으로 작성한다.
-
밀 횟수를 정한다. 한 글자를 민다는 것은 그 글자를 알파벳 순서상 다음 글자로 바꾸는 것을 말한다. 예를 들어 네 글자 밀기로 정하면
A는E가 되고,V는Z가 된다.Z를 한 번 더 밀면A로 돌아온다. 네 글자 미는 경우의 대응표는 다음과 같다.
- 평문의 각 글자를 정한 횟수만큼 밀어 암호문을 완성한다.
예를 들어 평문 "I AM JOHN"을 네 글자 밀면 암호문 "M EQ NSLR"이 된다.
이 문제에서는 알파벳 대문자와 소문자를 모두 처리한다. 평문의 대문자는 암호문에서도 대문자가 되고, 평문의 소문자는 암호문에서도 소문자가 된다. 공백, 온점(.), 쉼표(,)는 암호화하지 않고 그대로 출력한다.
입력
첫 번째 줄에는 밀 횟수 ()와 문자열 의 길이 ()가 공백으로 구분되어 입력된다.
두 번째 줄에는 알파벳 대문자, 알파벳 소문자, 공백, 온점(.), 쉼표(,)로 이루어진 길이 의 문자열 가 입력된다.
출력
문자열 의 각 알파벳을 번 민 결과 문자열을 출력한다. 대문자는 대문자로, 소문자는 소문자로 유지되어야 하며, 공백, 온점, 쉼표는 그대로 출력되어야 한다.