-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathDubstep.java
More file actions
59 lines (52 loc) 路 1.96 KB
/
Copy pathDubstep.java
File metadata and controls
59 lines (52 loc) 路 1.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package main.java.kyu6;
/**
* 6 kyu - Dubstep
*
* https://www.codewars.com/kata/551dc350bf4e526099000ae5
*
* Details:
*
* Polycarpus works as a DJ in the best Berland nightclub, and he often uses dubstep music in his
* performance. Recently, he has decided to take a couple of old songs and make dubstep remixes
* from them.
*
* Let's assume that a song consists of some number of words (that don't contain WUB). To make the
* dubstep remix of this song, Polycarpus inserts a certain number of words "WUB" before the first
* word of the song (the number may be zero), after the last word (the number may be zero), and
* between words (at least one between any pair of neighbouring words), and then the boy glues
* together all the words, including "WUB", in one string and plays the song at the club.
*
* For example, a song with words "I AM X" can transform into a dubstep remix as
* "WUBWUBIWUBAMWUBWUBX" and cannot transform into "WUBWUBIAMWUBX".
*
* Recently, Jonny has heard Polycarpus's new dubstep track, but since he isn't into modern music,
* he decided to find out what was the initial song that Polycarpus remixed. Help Jonny restore
* the original song.
* Input
*
* The input consists of a single non-empty string, consisting only of uppercase English letters,
* the string's length doesn't exceed 200 characters
* Output
*
* Return the words of the initial song that Polycarpus used to make a dubsteb remix. Separate
* the words with a space.
*/
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class Dubstep {
public static String SongDecoder(String song) {
String s = song;
s = s.replaceAll("WUB", " ")
.replaceAll("\\s+", " ");
return s.trim();
}
@Test
public void test1() {
assertEquals("ABC", new Dubstep().SongDecoder("WUBWUBABCWUB"));
}
@Test
public void test2()
{
assertEquals("R L", new Dubstep().SongDecoder("RWUBWUBWUBLWUB"));
}
}