Simple&Natural

[2021 kakao blind recruitment] 신규 아이디 추천 본문

코딩테스트 풀이/카카오

[2021 kakao blind recruitment] 신규 아이디 추천

Essense 2021. 8. 21. 23:09
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