프로그래머스/Lv. 0(코딩 기초 트레이닝)

[프로그래머스 코딩테스트] l로 만들기(Java)

Sigfriede 2023. 5. 13. 01:20

  문제 설명

  알파벳 소문자로 이루어진 문자열 myString이 주어집니다. 알파벳 순서에서 "l"보다 앞서는 모든 문자를 "l"로 바꾼 문자열을 return 하는 solution 함수를 완성해 주세요.

 

  제한사항

  • 1 <= myString <= 100,000
  • myString은 알파벳 소문자로 이루어진 문자열입니다.

 

  입출력 예

myString result
"abcdevwxyz" "lllllvwxyz"
"jjnnllkkmm" "llnnllllmm"
class Solution {
    public String solution(String myString) {
        String answer = myString.replaceAll("[a-l]", "l");
        return answer;
    }
}

  정규식을 이용했습니다. replaceAll은 정규식을 이용하여 문자열을 변경하는 메소드입니다. 정규식이 아니더라도 일반 문자 혹은 정수 등 다양한 변경에도 지장은 없습니다.

  이 코드에서의 인자는 a-l과 l입니다. 대괄호 안 정규식의 뜻은 a부터 l까지 해당한다는 것을 의미합니다. 다음 인자는 바꿀 문자를 받으므로, l로 변경하겠다는 뜻입니다. 따라서 매개 변수로 받는 문자열에 a부터 l까지 해당하는 문자가 있다면, replaceAll 메소드를 거쳐 이를 모두 l로 변경합니다.

 

  replace를 이용한 다른 문제(replace와 replaceAll의 차이 설명)

  [프로그래머스 코딩테스트] 특정 문자 제거하기(Java) https://sigfriede.tistory.com/34