공부하기/백준

[Java] 백준 풀기 23027 - 1번부터 문제의 상태가…?

XEV 2024. 4. 8. 23:36

자바 백준 23027번

브론즈 2

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

 

23027번: 1번부터 문제의 상태가…?

큰일이다. 시험 문제를 본 쿠기는 1번부터 풀 수가 없다. 시험 시간 동안 할 일이 없었던 쿠기는 교수님께 편지를 쓰려고 한다. 작년 시험에서 교수님께 그동안 감사했다는 편지를 전하고 D+을 받

www.acmicpc.net

 

 

 

 

 

문제 보기

분류: 구현, 문자열

 

 

 

 

 

코드 폴이

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 사용자로부터 문자열 입력
String S = sc.next();
// 수정된 문자열을 저장할 변수 선언 및 초기화
String modifiedLetter = modifyLetter(S);
// 수정된 문자열 출력
System.out.println(modifiedLetter);
}
// 주어진 문자열을 수정하는 함수
public static String modifyLetter(String S) {
// 수정된 문자열을 저장하기 위한 StringBuilder 객체 생성
StringBuilder modifiedLetter = new StringBuilder();
// 'A'가 포함되어 있을 경우
if (S.contains("A")) {
// 문자열의 각 문자에 대해 반복
for (int i = 0; i < S.length(); i++) {
char ch = S.charAt(i);
if (ch == 'B' || ch == 'C' || ch == 'D' || ch == 'F') {
// 조건에 맞는 문자인 경우 'A'로 변경하여 StringBuilder에 추가
modifiedLetter.append('A');
} else {
// 조건에 맞지 않는 문자는 그대로 StringBuilder에 추가
modifiedLetter.append(ch);
}
}
}
// 'B'가 포함되어 있을 경우
else if (S.contains("B")) {
// 문자열의 각 문자에 대해 반복
for (int i = 0; i < S.length(); i++) {
char ch = S.charAt(i);
if (ch == 'C' || ch == 'D' || ch == 'F') {
// 조건에 맞는 문자인 경우 'B'로 변경하여 StringBuilder에 추가
modifiedLetter.append('B');
} else {
// 조건에 맞지 않는 문자는 그대로 StringBuilder에 추가
modifiedLetter.append(ch);
}
}
}
// 'C'가 포함되어 있을 경우
else if (S.contains("C")) {
// 문자열의 각 문자에 대해 반복
for (int i = 0; i < S.length(); i++) {
char ch = S.charAt(i);
if (ch == 'D' || ch == 'F') {
// 조건에 맞는 문자인 경우 'C'로 변경하여 StringBuilder에 추가
modifiedLetter.append('C');
} else {
// 조건에 맞지 않는 문자는 그대로 StringBuilder에 추가
modifiedLetter.append(ch);
}
}
}
// 모든 조건을 만족하지 않을 경우
else {
// 문자열의 각 문자를 'A'로 변경하여 StringBuilder에 추가
for (int i = 0; i < S.length(); i++) {
modifiedLetter.append('A');
}
}
// 수정된 문자열을 문자열로 변환하여 반환
return modifiedLetter.toString();
}
}