아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

카이사르 암호

면접 대비

시간 제한1초메모리 제한64 MB

요약
문자열의 각 알파벳을 알파벳 순서로 k칸 밀어 암호문을 만들고, 공백과 마침표, 쉼표는 그대로 출력한다.
난이도

쉬움10점 중 2점

유형
문자열, 구현, 수학
정답자
아직 제출이 없습니다

문제

율리우스 카이사르가 고안한 것으로 알려진 카이사르 암호를 구현한다.

암호화 과정은 다음과 같다.

  1. 평문을 알파벳으로 작성한다.

  2. 밀 횟수를 정한다. 한 글자를 민다는 것은 그 글자를 알파벳 순서상 다음 글자로 바꾸는 것을 말한다. 예를 들어 네 글자 밀기로 정하면 A는 E가 되고, V는 Z가 된다. Z를 한 번 더 밀면 A로 돌아온다. 네 글자 미는 경우의 대응표는 다음과 같다.

원문ABCDE...VWXYZ
암호문EFGHI...ZABCD
  1. 평문의 각 글자를 정한 횟수만큼 밀어 암호문을 완성한다.

예를 들어 평문 "I AM JOHN"을 네 글자 밀면 암호문 "M EQ NSLR"이 된다.

이 문제에서는 알파벳 대문자와 소문자를 모두 처리한다. 평문의 대문자는 암호문에서도 대문자가 되고, 평문의 소문자는 암호문에서도 소문자가 된다. 공백, 온점(.), 쉼표(,)는 암호화하지 않고 그대로 출력한다.

입력

첫 번째 줄에는 밀 횟수 kk(1≤k≤100000001 \le k \le 10000000)와 문자열 ss의 길이 ∣s∣|s|(1≤∣s∣≤1000001 \le |s| \le 100000)가 공백으로 구분되어 입력된다.

두 번째 줄에는 알파벳 대문자, 알파벳 소문자, 공백, 온점(.), 쉼표(,)로 이루어진 길이 ∣s∣|s|의 문자열 ss가 입력된다.

출력

문자열 ss의 각 알파벳을 kk번 민 결과 문자열을 출력한다. 대문자는 대문자로, 소문자는 소문자로 유지되어야 하며, 공백, 온점, 쉼표는 그대로 출력되어야 한다.

예제4

  1. 예제 1

    입력
    4 10
    I AM JOHN.
    
    예상 출력
    M EQ NSLR.
    
  2. 예제 2

    입력
    26 10
    I AM JOHN.
    
    예상 출력
    I AM JOHN.
    
  3. 예제 3

    입력
    5 37
    I love Red Black Tree, how about you.
    
    예상 출력
    N qtaj Wji Gqfhp Ywjj, mtb fgtzy dtz.
    
  4. 예제 4

    입력
    1 8
    xyz XYZ.
    
    예상 출력
    yza YZA.