본문 바로가기
Coding Test

230930 특정 문자 제거하기 - Level 0

by mmm- 2023. 9. 30.

문제 설명

문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.
 

제한사항

  • 1 ≤ my_string의 길이 ≤ 100
  • letter은 길이가 1인 영문자입니다.
  • my_string과 letter은 알파벳 대소문자로 이루어져 있습니다.
  • 대문자와 소문자를 구분합니다.

 

입출력 예

 

입출력 설명

입출력 예 #1

  • "abcdef" 에서 "f"를 제거한 "abcde"를 return합니다.

입출력 예 #2

  • "BCBdbe" 에서 "B"를 모두 제거한 "Cdbe"를 return합니다.

코드

import java.util.*;

class Solution {
    public String solution(String my_string, String letter) {
        String answer = "";
        StringBuilder st = new StringBuilder();
        
        for(int i=0; i<my_string.length(); i++) {
            if(my_string.charAt(i) != letter.charAt(0))
                st.append(my_string.charAt(i));
        }
        answer = String.valueOf(st);
        
        return answer;
    }
}

 

풀이

반복문에서 charAt()을 이용해 my_string을 문자로 변환한 것이 letter를 문자로 변환한 것과 다르다면 StringBuilder에 추가해준다. 반복문이 끝난 후 valueOf()를 이용해 StringBuilder를 문자열로 변환하여 answer에 할당해준다.


다른 코드와 풀이

아래의 코드는 다른 사람들이 작성한 것들로, 내 코드와 비교, 참고하기 위해 가져왔다.

class Solution {
    public String solution(String my_string, String letter) {
        String answer = "";

        answer = my_string.replace(letter, "");

        return answer;
    }
}

replace 메서드를 이용해 my_string에 letter가 있으면 빈 문자열로 변환하여 answer에 할당해준다.