코딩테스트/프로그래머스

[Lv.0] 특정한 문자를 대문자로 바꾸기

민톨이 2024. 8. 8. 03:11
728x90

📋 문제

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

 

📋 입출력 예시

 

📋 풀이(남의 코드 인용)

class Solution {
    public String solution(String my_string, String alp) {
        String a = alp.toUpperCase();
        return my_string.replace(alp, a);
    }
}

 

내가 푼 건 너무 로제 스파게티 코드느낌이라 남의 좋은 코드를 가져와봤다.

 

 

  • String a = alp.toUpperCase();
    • alp 문자열을 대문자로 변환하여 a 변수에 저장
    • 예를 들어, alp가 "p"라면 a는 "P"가 됨
  • return my_string.replaceAll(alp, a);
    • my_string에서 alp에 해당하는 모든 부분을 a로 대체
    • replaceAll 메서드는 주어진 문자열의 모든 인스턴스를 대체
    • 예를 들어, my_string이 "apple"이고 alp가 "p"라면, "apple"의 모든 "p"가 "P"로 대체되어 "aPPle"이 됨