본문 바로가기
코딩 문제/프로그래머스 [ Java ]

[ 프로그래머스 / Java ] 특정 문자 제거하기

by CODESIGN 2022. 10. 31.

https://school.programmers.co.kr/learn/courses/30/lessons/120826

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 설명


 

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

 

 

제한사항


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

 

입출력 예


 

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

 

입출력 예 설명


입출력 예 #1

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

 

입출력 예 #2

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

 

나의 풀이


주어진 string을 split해준후 각 글자를 주어진 letter와 같지 않은 것만 answer에 추가해주었다. 

 

class Solution {
    public String solution(String my_string, String letter) {
        String answer = "";
        String[] split = my_string.split("");
        for (int i = 0; i < split.length; i++) {
            if (!split[i].equals(letter)) {
                answer += split[i];
            }
        }
        return answer;
    }
}

 

 

 

다른 풀이


나의 코드 보다 훨씬 효율 적이다. 주어진 string을 split 해줄 필요도 없고 replace를 사용하여 같은 글자인 단어만 없애 주었다.

 

class Solution {
    public String solution(String my_string, String letter) {
        String answer = "";
        answer = my_string.replace(letter, "");
        return answer;
    }
}

 

 

 

댓글