본문 바로가기
Algorithm & SQL/BAEKJOON

백준 JAVA 5598 카이사르 암호

by YoonJong 2022. 8. 5.
728x90

 

 

5598번: 카이사르 암호

가이우스 율리우스 카이사르(Gaius Julius Caesar)는 고대 로마 군인이자 정치가였다. 카이사르는 비밀스럽게 편지를 쓸 때, 'A'를 'D로', 'B'를 'E'로, 'C'를 'F'로... 이런 식으로 알파벳 문자를 3개씩 건

www.acmicpc.net

브론즈 문제이지만, 문자열 관련해서 기본을 다듬을 수 있는 문제여서 풀었다.

 

package BAEKJOON.Bronze.Ⅱ;

import java.util.Scanner;

public class NO5998 {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        String str = sc.nextLine();
        String s = "";

        for (int i = 0; i < str.length(); i++) {
            // 아스키코드로 A 는 65 Z 는 90
            if (str.charAt(i) > 67) {
                // D 이상일 경우에는 -3 
                s += String.valueOf((char) (str.charAt(i) - 3));
            } else {
                // ABC 일 때는 -3을 하면 아스키코드에 있는 다른 특수문자가 나온다
                // 따라서 23을 더해주어서 문제의 변환전 값과 맞춰준다
                s += String.valueOf((char) (str.charAt(i) + 23));
            }
        }
        System.out.println(s);
    }
}
728x90

'Algorithm & SQL > BAEKJOON' 카테고리의 다른 글

백준 JAVA 10845 큐  (0) 2022.08.07
백준 JAVA 10828 스택  (0) 2022.08.07
백준 JAVA 10773 제로  (0) 2022.08.05
백준 JAVA 1417 국회의원 선거  (0) 2022.08.04
백준 JAVA 14425 문자열 집합  (0) 2022.08.03

댓글