본문 바로가기

백준 문제풀기/JAVA

[백준 6321 JAVA 자바] IBM 빼기 1

영대문자 문자열을 입력 받아서

A -> B

B -> C

...

Z -> A

이렇게 변환을 해서

정해진 형식대로 출력합시다

 

코드입니다

import java.util.Scanner;

public class Main {
    public static void main(String[] args){
    	Scanner scan = new Scanner(System.in);
    	StringBuilder sb = new StringBuilder();
    	
    	int n = scan.nextInt();
    	
    	scan.nextLine();
    	
    	for(int i=0; i<n; i++) {
    		String str = scan.nextLine();
    		String ans = "";
    		
    		int m = str.length();
    		for(int j=0; j<m; j++) {
    			char c = str.charAt(j);
    			if(c==90) {
    				ans += "A";
    				
    			}else {
    				ans += (char)(c+1);
    			}
    		}
    		sb.append("String #").append(i+1+"\n").append(ans+"\n\n");
    	}
    	System.out.print(sb);
    }
}

저는 아스키 코드를 이용한 변환을 이용했습니다

char c = str.charAt(j) 를 이용해

입력받은 문자열의 알파벳 하나를 고른 후

c == 90 (Z인 경우) 는 A를

그게 아닌 경우는 c+1 (다음 알파벳)을

연결해 주었습니다

 

sb.append() 부분은 출력 형식을 맞추기 위한 부분입니다