Link | LeetCode 14번 문제 : Longest Common Prefix
가장 짧은 문자열을 찾은 이후에 각 문자를 차례대로 전체 문자열에서 탐색하면 된다.
Step 1. 가장 짧은 문자열을 찾는다.
val min = strs.minBy { it.length }
Step 2. 가장 짧은 문자열의 문자를 하나씩 탐색한다.
min.forEachIndexed { idx, ch -> if (strs.all { it[idx] == ch }) 문자 추가 else 반환 }
fun longestCommonPrefix(strs: Array<String>) = StringBuilder().apply {
strs.minBy { it.length }
?.forEachIndexed { idx, ch -> if (strs.all { it[idx] == ch }) append(ch) else return toString() }
}.toString()