문제링크
fun main() {
val bufferedReader = System.`in`.bufferedReader()
val bufferedWriter = System.out.bufferedWriter()
val n = bufferedReader.readLine().toInt()
val pattern = bufferedReader.readLine()
val regex = createRegex(pattern)
repeat(n) {
val fileName = bufferedReader.readLine()
if (regex.matches(fileName)) bufferedWriter.write("DA\n")
else bufferedWriter.write("NE\n")
}
bufferedReader.close()
bufferedWriter.close()
}
fun createRegex(inputPattern: String): Regex {
val index = findStarIndex(inputPattern)
val regexPattern = StringBuilder(inputPattern).insert(index, ".").toString()
return Regex(regexPattern)
}
fun findStarIndex(inputPattern: String): Int {
inputPattern.forEachIndexed { index, char ->
if (char == '*') return index
}
return -1
}
주석 없는 코드를 만들기 위해 노력하는 개발자입니다.
혹시라도 의도가 분명하지 않아보이는 (이해가 되지 않는) 코드가 있으시다면 편하게 답변 달아주시면 정말 감사하겠습니다.