CodeWars 서른 세 번째 문제

Updated:

Dubstep

public static String SongDecoder(String song) {
    String[] songSplit = song.split("WUB");
    List<String> excludNullSongSplit = new ArrayList<String>();

    for(String split : songSplit) {
        if(!"".equals(split)) {
            excludNullSongSplit.add(split);
        }
    }

    return String.join(" ", excludNullSongSplit);
}
  • 문제는 어려운 것은 아니었으나.. 6단계의 특징인.. 새로운 것을 또 배웠다.
  • replaceAll을 이용하는 것이었는데 replaceAll에 들어가는 특이한 인자를 배웠다.
  • 이것은 String API 포스팅에 정리해 놓았다.
  • 그래도 간단하게 써놓으면 괄호안의 String이 여러개 있는 문자열을 가르킨다.
  • 즉, (WUB)+ 이뜻은 WUB, WUBWUB, WUBWUBWUB가 모두 같은 그룹화 시킨 것에 대해서 정규식 표현
return song.replaceAll("(WUB)+", " ").trim();