Simple&Natural
[2021 kakao blind recruitment] 신규 아이디 추천 본문
728x90
class Solution {
fun solution(new_id: String): String {
var answer: String = ""
answer = new_id.toLowerCase()
.replace(Regex("""[^a-z0-9\-_.]"""), "")
.replace(Regex("""[.]{2,}"""), ".")
.removePrefix(".")
.removeSuffix(".")
.run { if (isEmpty()) "a" else this }
.run { if (length>15) substring(0, 15) else this }
.removeSuffix(".")
.run {
var tmpStr = this
while (tmpStr.length<3) {
tmpStr += last()
}
tmpStr
}
return answer
}
}
언어: Kotlin
해설: 문제의 조건에 맞게 그대로 로직을 짜면 된다.
코틀린을 이용하면 편리한 함수들이 많아 의식의 흐름대로 직관적으로 작성이 가능...
작년에 같은 문제를 풀었는데 기억이 안나서 다시 풀었음.
728x90
'코딩테스트 풀이 > 카카오' 카테고리의 다른 글
2019 카카오 개발자 겨울 인턴십 코딩테스트 - 불량 사용자 (0) | 2020.09.14 |
---|---|
2020 카카오 공채 코딩테스트 - 자물쇠와 열쇠 (0) | 2020.08.26 |
2020 카카오 공채 코딩테스트 - 문자열 압축 (0) | 2020.08.26 |
2019 카카오 개발자 겨울 인턴십 코딩테스트 - 튜플 (0) | 2020.04.09 |
2019 카카오 개발자 겨울 인턴십 코딩테스트 - 크레인 인형뽑기 게임 (0) | 2020.04.04 |