programmers

[JAVA] 특정 문자 제거하기 replace()

아잠만_ 2024. 3. 9. 15:16
문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.

풀이1) equals() 메소드

class Solution {
    public String solution(String my_string, String letter) {
        String answer = "";
        for(int i=0;i<my_string.length();i++){
            String b = ""+my_string.charAt(i);
            boolean a = letter.equals(b);
            if(a==false){
                answer+=my_string.charAt(i);
            }
        }
        return answer;
    }
}

 

equals() 메소드는 String만 가능

char는 데이터 유형이 원시 데이터 유형(primaitive date type)으로 객체가 아니기 때문에

'==' 연산자로 비교할 때 주소 비교가 아닌 값에 비교가 수행되는 것.

 -> char 변수가 값은 메모리 주소를 갖지 않는다

  String char
== "객체" 참조 비교 값 비교
equals "객체" 내용 비교 없음

 

비교 연산자는 == 이므로 꼭 잊지말 것

 

풀이2) replace() 메소드

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

replace 함수는 자신이 바꾸고 싶은 문자로 문자열을 치환시켜주는 기능

name.replace("바꾸고 싶은 문자", "바뀔 문자")