fun main() {
val bufferedReader = System.`in`.bufferedReader()
val bufferedWriter = System.out.bufferedWriter()
val sound = bufferedReader.readLine()
val submarineRegex = Regex("(100+1+|01)+")
if (submarineRegex.matches(sound)) println("SUBMARINE")
else println("NOISE")
bufferedReader.close()
bufferedWriter.close()
}
https://regex101.com/ 사이트에서는 "10000111001111" 입력이 들어왔을 때 해결되지 않는 문제가 있었는데 정규표현식 matches 함수 내부 알고리즘이 다 똑같은게 아니라는 사실을 알게되는 계기가 되었습니다...!