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

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

뒤집어서 밀기

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

요약
각 메시지를 뒤집은 뒤 28자 알파벳에서 각 문자를 N칸 앞으로 이동합니다.
난이도

쉬움10점 중 1점

유형
문자열, 시뮬레이션
정답자
아직 제출이 없습니다

문제

알파벳의 각 문자를 일정한 칸수만큼 밀어서 다시 쓰는 방식은 글을 감추는 아주 단순한 방법이다. A부터 Z까지를 13칸 미는 ROT13이 그런 방식이고, 1990년대 후반부터 2000년대 초반까지 여러 프로그램이 자료를 감추는 용도로 썼다.

여기서는 이 방식에 한 단계를 더한다. 먼저 문자열 전체를 뒤집고, 그다음 각 문자를 앞으로 민다. 예를 들어 ABCD를 뒤집으면 DCBA가 되고, 이것을 1칸 밀면 EDCB가 된다.

메시지는 대문자, 밑줄, 마침표로만 이루어진다. 미는 순서는 다음 배열을 따른다.

ABCDEFGHIJKLMNOPQRSTUVWXYZ_.

밑줄은 Z 다음에 오고, 마침표는 밑줄 다음에 온다. 따라서 앞으로 1칸 밀면 A는 B가 되고, B는 C가 되며, 같은 식으로 Z는 _가, _는 .이, .은 A가 된다. 3칸 밀면 A는 D가 되고, B는 E가 되며, 같은 식으로 .은 C가 된다.

입력

각 줄에는 정수 NN과 문자열이 공백 하나로 구분되어 주어진다. NN은 앞으로 미는 칸수이고 1≤N≤271 \le N \le 27이다. 문자열은 암호로 바꿀 메시지이며, 길이는 1 이상 40 이하이고 대문자, 밑줄, 마침표만 쓴다. 입력의 끝은 숫자 0 하나만 있는 줄로 표시한다.

출력

각 메시지마다 뒤집은 다음 민 결과를 한 줄에 하나씩 출력한다.

예제2

  1. 예제 1

    입력
    1 ABCD
    3 YO_THERE.
    1 .DOT
    14 ROAD
    9 SHIFTING_AND_ROTATING_IS_NOT_ENCRYPTING
    2 STRING_TO_BE_CONVERTED
    1 SNQZDRQDUDQ
    0
    
    예상 출력
    EDCB
    CHUHKWBR.
    UPEA
    ROAD
    PWRAYF_LWNHAXWH.RHPWRAJAX_HMWJHPWRAORQ.
    FGVTGXPQEAGDAQVAIPKTVU
    REVERSE_ROT
    
  2. 예제 2

    입력
    1 A
    1 Z
    1 _
    1 .
    0
    
    예상 출력
    B
    _
    .
    A