본문 바로가기

kotlin12

MongoDB 파일 저장소로 사용하기 MongoDB는 비정형 데이터를 관리하는 데 강점을 가진 NoSQL 데이터베이스로, 파일과 같은 대규모 바이너리 데이터를 손쉽게 저장하고 관리할 수 있는 GridFS 기능을 제공합니다. 이 글에서는 Spring Boot와 Kotlin을 이용하여 파일을 MongoDB에 저장하고 관리하는 방법을 소개합니다. 또한 파일을 MongoDB에 저장하는 것의 장단점과 유의할 점에 대해서도 다룹니다.1. 프로젝트 설정Spring Boot와 Kotlin을 사용하여 MongoDB와 연동하기 위해서는 다음과 같은 의존성을 추가해야 합니다.Gradle 설정 (build.gradle.kts):dependencies { implementation("org.springframework.boot:spring-boot-start.. 2024. 11. 18.
문자열의 모든 순열찾기 fun getPermutations(s: String): List { if (s.length 2023. 10. 29.
문자열 압축 fun compressString(s: String): String { if (s.isEmpty()) return "" val compressed = StringBuilder() var count = 1 for (i in 1 until s.length) { if (s[i] == s[i - 1]) { count++ } else { compressed.append(s[i - 1]).append(count) count = 1 } } compressed.append(s.last()).append(count) return compressed.toString() } fun main() { println(compressString("aaabbbbccdddda")) // "a3b4c2d4a1" } 2023. 10. 29.
가장 긴 공통 접두사 찾기 fun longestCommonPrefix(strs: List): String { if (strs.isEmpty()) return "" val prefix = StringBuilder() strs.reduce { acc, s -> acc.commonPrefixWith(s) }.forEach { prefix.append(it) } return prefix.toString() } fun main() { println(longestCommonPrefix(listOf("flower", "flow", "flight"))) // "fl" } 2023. 10. 29.
회문확인 fun isPalindrome(s: String): Boolean { return s == s.reversed() } fun main() { println(isPalindrome("level")) // true } 2023. 10. 29.
애너그램 확인 fun isAnagram(s1: String, s2: String): Boolean { return s1.toList().sorted() == s2.toList().sorted() } fun main() { println(isAnagram("listen", "silent")) // true } 2023. 10. 29.