[JAVA/5598번] 카이사르 암호

고지훈·2021년 9월 6일
1

Algorithm

목록 보기
12/68
post-thumbnail

문제


입력 및 출력


풀이

import java.io.*;

class Main {
    public static void main(String args[]) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        char[] charArray = br.readLine().toCharArray();

        for (int i = 0; i < strArray.length; i++) {
            if (charArray[i] == 65) {
                charArray[i] = 91;
            }
            if (charArray[i] == 66) {
                charArray[i] = 92;
            }
            if (charArray[i] == 67) {
                charArray[i] = 93;
            }
            System.out.print((char)(charArray[i] - 3));
        }
    }
}

결과 및 해결방법

[결과]

[정리]

해결방법

  • 카이사르 암호 문제는 아스키코드값을 조정하여 문제를 해결하는 방법으로 A, B, C의 아스키코드 값 처리가 중요하다.
  • 문제를 해결하기 위해 아스키코드 표를 참고하여 charArray의 i번째 원소가 A, B, C일 경우 X, Y, Z에 3을 더한 값을 배열에 넣어주었다.
  • 카이사르 암호를 복호화하기 위해 현재 문자에 3을 빼고 문자 타입으로 형 변환하여 출력하였다.
profile
"계획에 따르기보다 변화에 대응하기를"

0개의 댓글