7016 : 시저 암호
•시간제한: 1.000 S
•메모리제한: 256 MB
•제출: 2
•통과: 2
•만든사람: suakii
문제 설명
시저 암호(Caesar Cipher)의 암호화(E) 또는 복호화(D) 모드와 시프트 값 $K$가 주어질 때, 입력받은 문자열을 변환하여 출력하는 프로그램을 작성하시오.
알파벳의 대소문자는 유지하며, 공백 및 기타 특수문자, 숫자는 암호화 과정에서 변환되지 않고 그대로 출력되어야 한다.
[제약 조건]
• 시프트 칸 수 $K$: $0 \le K \le 25$
• 대상 문자열의 길이: $1 \le |S| \le 1{,}000$
[제약 조건]
• 시프트 칸 수 $K$: $0 \le K \le 25$
• 대상 문자열의 길이: $1 \le |S| \le 1{,}000$
입력 설명
첫째 줄에 암호화 모드 `E` 혹은 복호화 모드 `D`가 주어진다. 둘째 줄에 시프트 칸 수 주어진다. 셋째 줄에 대상 문자열이 주어진다. ($0 \le K \le 25$, 문자열의 길이 $\le 1000$)
출력 설명
시저 암호 변환(암호화 또는 복호화)이 수행된 최종 문자열을 출력한다.
입력 예시
COPY
복사되었습니다!
복사되었습니다!
E
1
hello
출력 예시
COPY
복사되었습니다!
복사되었습니다!
ifmmp
도움
대소문자 구분을 유지하고 순환 범위(
ightarrow a$)를 모듈러 26 연산으로 정확히 처리한다.