Problem
- Let’s assume that a song consists of some number of words (that don’t contain WUB).
- 노래가 몇 개의 단어로 구성되어 있다. (WUB을 포함하지 않는다)
- The input consists of a single non-empty string, consisting only of uppercase English letters, the string’s length doesn’t exceed 200 characters.
- 입력(input)은 비어 있지 않은 하나의 문자열로 구성된다.
- 영문 대문자로만 구성된다.
- 문자열의 길이는 200자를 초과하지 않는다.
- Return the words of the initial song that Polycarpus used to make a dubsteb remix.
- dubsteb remix를 만드는 데 사용한 초기 노래의 단어를 반환한다.
- Separate the words with a space.
Solution 01
function songDecoder(song) {
return song.split('WUB').filter(i => i !== '').join(' ');
}
songDecoder('AWUBBWUBC'); // A B C
songDecoder('WUBAWUBBWUBCWUB'); // A B C
songDecoder('AWUBWUBBWUBWUBC'); // A B C
Solution 02
function songDecoder(song) {
return song.split('WUB').filter(Boolean).join(' ');
}
songDecoder('AWUBBWUBC'); // A B C
songDecoder('WUBAWUBBWUBCWUB'); // A B C
songDecoder('AWUBWUBBWUBWUBC'); // A B C
Solution 03
function songDecoder(song) {
return song.replace(/(WUB)+/g, ' ').trim();
}
songDecoder('AWUBBWUBC'); // A B C
songDecoder('WUBAWUBBWUBCWUB'); // A B C
songDecoder('AWUBWUBBWUBWUBC'); // A B C
Solution 04
function songDecoder(song) {
return song.replace(/(WUB){1,3}/g, ' ').trim();
}
songDecoder('AWUBBWUBC'); // A B C
songDecoder('WUBAWUBBWUBCWUB'); // A B C
songDecoder('AWUBWUBBWUBWUBC'); // A B C