본문 바로가기

코틀린

가장 긴 공통 접두사 fun longestCommonPrefix(strs: Array): String { if (strs.isEmpty()) return "" strs.sort() val first = strs[0] val last = strs[strs.size - 1] var i = 0 while (i < first.length && first[i] == last[i]) i++ return first.substring(0, i) } 더보기
유효한 괄호 문자열 확인 fun isValidParentheses(s: String): Boolean { val stack = ArrayDeque() for (char in s) { when (char) { '(', '[', '{' -> stack.addLast(char) ')' -> if (stack.isEmpty() || stack.removeLast() != '(') return false ']' -> if (stack.isEmpty() || stack.removeLast() != '[') return false '}' -> if (stack.isEmpty() || stack.removeLast() != '{') return false } } return stack.isEmpty() } fun main() { println.. 더보기
최빈 단어 찾기 fun mostFrequentWord(s: String): Pair? { val words = s.split(' ') val frequencyMap = words.groupingBy { it }.eachCount() return frequencyMap.maxByOrNull { it.value } } fun main() { val (word, frequency) = mostFrequentWord("this is a sample program and it is a sample") ?: Pair("", 0) println("$word: $frequency") // "sample: 2" } 더보기
공백으로 단어 뒤집기 fun reverseWords(s: String): String { return s.split(' ').joinToString(" ") { it.reversed() } } fun main() { println(reverseWords("Hello World")) // "olleH dlroW" } 더보기
중복문자 제거 fun removeDuplicates(s: String): String { return s.toSet().joinToString("") } fun main() { println(removeDuplicates("banana")) // "ban" (순서는 보장되지 않음) } 더보기
문자열 뒤집기 fun reverseString(s: String): String { return s.reversed() } fun main() { println(reverseString("Hello World")) // "dlroW olleH" } 더보기