내가 생각했을때 문제에서 원하는부분
첫째 줄에 컴퓨터의 개수 n이 주어진다.
다음 줄부터 n개의 줄에는 컴퓨터의 이름이 주어진다.
컴퓨터의 이름은 최대 50글자이며, 알파벳 대문자로만 이루어져 있다.
입력으로 주어진 컴퓨터 이름에 대해서, 한 줄에 하나씩 각 글자를 알파벳 다음 순서로 써서 출력한다.
각각의 컴퓨터 이름 사이에는 빈 줄을 하나씩 출력한다.
알파벳 Z의 다음 순서는 A이다.
내가 이 문제를 보고 생각해본 부분
BufferedReader를 사용하여 입력을 받는다.
첫 번째 줄에서 컴퓨터의 개수 n을 읽는다.
각 컴퓨터 이름에 대해 반복하면서:
각 문자를 확인하여 'Z'인 경우 'A'로 변환하고, 나머지 경우에는 ASCII 값을 이용하여 다음 문자를 계산해준다.
결과를 StringBuilder에 저장한다.
각 컴퓨터 이름의 결과를 출력하고, 마지막 컴퓨터 이름 이후에는 빈 줄을 출력하지 않도록 조건을 추가한다.
코드로 구현
package baekjoon.baekjoon_27;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
// 백준 6321번 문제
public class Main990 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
for(int i = 1; i <= n; i++) {
String computerName = br.readLine();
StringBuilder sb = new StringBuilder();
for(char c : computerName.toCharArray()) {
// 다음 알파벳으로 변환
if(c == 'Z') {
sb.append('A');
} else {
sb.append((char) (c + 1));
}
}
System.out.println("String #" + i);
System.out.println(sb.toString());
if(i < n) {
System.out.println(); // 각 컴퓨터 이름 사이에 빈 줄 출력
}
}
br.close();
}
}
코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.