코딩테스트 연습/프로그래머스 LV.0

[프로그래머스] Lv.0 특정 문자 제거하기 - 자바(Java)

5ein 2024. 3. 5. 13:00

문제: 코딩테스트 연습 - 특정 문자 제거하기 | 프로그래머스 스쿨 (programmers.co.kr)

문제설명

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


제한사항

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

입출력 예

my_string letter result
"abcdef" "f" "abcde"
"BCBdbe" "B" "Cdbe"

나의 문제 풀이

class Solution {
    // 1. 
    public String solution(String my_string, String letter) {
        String answer = "";
        for (int i = 0; i < my_string.length(); i++) {
        	char c = my_string.charAt(i);
        	if(c != letter.charAt(0)) {
        		answer += String.valueOf(c);
        	}
        }
        return answer;
    }
    
    // 2. continue 이용
    public String solution(String my_string, String letter) {
        String answer = "";
        for (int i = 0; i < my_string.length(); i++) {
        	char c = my_string.charAt(i);
        	if(c == letter.charAt(0)) continue;
        	answer += c;
         }
        return answer;
    }
    
    // 3. replace 이용
    public String solution(String my_string, String letter) {
        String answer = "";
        answer = my_string.replace(letter, "");
        return answer;
    }
}

다른 사람의 문제풀이

class Solution {
    public String solution(String s, String letter) {
        StringBuilder sb = new StringBuilder();

        char[] arr = s.toCharArray();

        for(char ch : arr){
            if(ch!=letter.charAt(0)){
                sb.append(ch);
            }
        }


        return sb.toString();
    }
}

느낀점

StringBuilder


문제 출처: 코딩테스트 연습 | 프로그래머스 스쿨 (programmers.co.kr)