import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
static int[] arr;
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
String num = bf.readLine();
solve(num);
for (int i = 0; i<arr.length; i++) {
System.out.print((char)arr[i]);
}
}
private static int[] solve(String text) {
arr = new int[text.length()];
for (int i = 0; i<text.length(); i++) {
if (text.charAt(i) >= 'A' && text.charAt(i) <= 'Z') {
if (text.charAt(i) + 13 > 'Z') {
arr[i] = text.charAt(i) + 13 - 26;
} else {
arr[i] = text.charAt(i) + 13;
}
} else if (text.charAt(i) >= 'a' && text.charAt(i) <= 'z') {
if (text.charAt(i) + 13 > 'z') {
arr[i] = text.charAt(i) + 13 - 26;
} else {
arr[i] = text.charAt(i) + 13;
}
} else {
arr[i] = text.charAt(i);
}
}
return arr;
}
}
알파벳을 13번 밀어서 만드는 암호화 방식이다.
대문자인지 소문자인지 그 외의 것인지 판별하고
대문자라면 해당 문자 + 13이 Z를 넘어가는지 확인하고 그에 따라 다시 A부터 카운트 되도록 로직을 작성해준다.
배열에 int로 저장했기때문에 배열출력부분에서 char형식으로 바꿔서 출력해준다.