[프로그래머스_Java_Lv0] 모음 제거. replaceAll, stream

박경희·2025년 1월 15일

코딩테스트

목록 보기
43/69

Stream API 활용

정규표현식

class Solution {
    public String solution(String my_string) {
        return my_string.replaceAll("[aeiou]", "");
    }
}

replaceAll("[aeiou]", "")

  • 정규 표현식(Regex)을 사용하여 모음(aeiou)을 모두 ""(빈 문자열)로 치환
  • [] 안에 모음들을 넣어 모든 모음이 포함된 문자들을 제거

문자 스트림 변환 후 필터링

import java.util.stream.Collectors;

class Solution {
    public String solution(String my_string) {
        return my_string.chars()
                .mapToObj(c -> String.valueOf((char) c))
                .filter(c -> !"aeiou".contains(c))
                .collect(Collectors.joining());
    }
}

chars() → 문자열을 문자 스트림으로 변환
mapToObj(c -> String.valueOf((char) c))intchar로 변환
filter(c -> !"aeiou".contains(c))→ 모음이 아닌 것만 필터링
collect(Collectors.joining()) → 다시 문자열로 합침


다른사람 풀이

		StringBuilder sb = new StringBuilder();
        for(char c : my_string.toCharArray()){
            if(c != 'a' && c != 'e' && c != 'i' && c != 'o' && c != 'u'){
                sb.append(c);
            }
        }
        return sb.toString();
 	String answer = my_string;
	String[] aeiou = {"a","e","i","o","u"};
        for(String ae : aeiou){
            answer = answer.replace(ae,"");
        }
	return answer;

0개의 댓글