백준

백준 5598 카이사르 암호(Java)

Park DJ 2023. 1. 13. 04:06

https://www.acmicpc.net/problem/5598

 

5598번: 카이사르 암호

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

www.acmicpc.net


 

해석 및 팁

 


 

아스키코드를 활용하면 쉽게 풀 수 있는 문제입니다.아스키 코드에서 D는 68이고 A는 65이므로 3씩 빼주면 된다. 다만 ABC인 경우에는 XYZ가 되어야 하므로 23을 더해주면 된다.

 

 

 


 

Java 코드

 


import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    String voca = sc.nextLine();
    
    for(int i = 0; i < voca.length(); i++) {
      char n = voca.charAt(i);
      if(n == 'A' ||n == 'B'||n == 'C') n += 23;   //A,B,C인경우에는 XYZ가 되어야한다
      else n -= 3;
      System.out.print(n);
    }
    
  }  
}