Contents

특정한 문자를 대문자로 바꾸기(with.Java)

   Oct 12, 2023     1 min read

특정한 문자를 대문자로 바꾸기에 대하여 알아본 글입니다.

코딩 테스트 문제를 풀며, 풀었던 문제에 대한 회고와 다른 풀이 방법을 알아보며, 알아가고자 합니다.

문제에 대해 먼저 알아보겠습니다.

문제

영소문자로 이루어진 문자열 my_string과 영소문자 1글자로 이루어진 문자열 alp가 매개변수로 주어질 때, my_string에서 alp에 해당하는 모든 글자를 대문자로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.

입출력 예시
myStringalpresult
“programmers”“p”“Programmers”

문제에 대한 나의 풀이

class Solution {
    public String solution(String my_string, String alp) {
        StringBuilder answer = new StringBuilder();
        for(int i = 0; i < my_string.length(); i++){
            char currentChar = my_string.charAt(i);
            if(currentChar == alp.charAt(0)){
                answer.append(Character.toUpperCase(currentChar));
            } else{
                answer.append(currentChar);
            }
        }
        return answer.toString();
    }
}
풀이 설명

public String solution(String my_string, String alp): 두 개의 문자열 파라미터 my_string과 alp를 입력으로 받아서 문자열을 처리하는 함수입니다.

StringBuilder answer = new StringBuilder();: 결과 문자열을 담을 StringBuilder 객체를 생성합니다. 이 객체를 사용하여 문자열을 구성할 것입니다.

for(int i = 0; i < my_string.length(); i++) { … }: 주어진 문자열 my_string의 각 문자에 대해서 반복문을 실행합니다.

char currentChar = my_string.charAt(i);: 현재 반복문에서 처리하고 있는 문자열의 문자를 currentChar 변수에 저장합니다.

if(currentChar == alp.charAt(0)) { … } else { … }: 현재 문자가 주어진 문자 alp와 같은지 비교합니다.

answer.append(Character.toUpperCase(currentChar));: 현재 문자가 주어진 문자 alp와 같다면 대문자로 변환하여 결과 문자열 answer에 추가합니다.

answer.append(currentChar);: 현재 문자가 주어진 문자 alp와 다르다면 그대로 유지하여 결과 문자열 answer에 추가합니다.

return answer.toString();: 최종적으로 answer에 저장된 문자열을 문자열 형태로 반환합니다.