관리 메뉴

나만을 위한 블로그

[Algorithm] 프로그래머스 - 로그인 성공? (Kotlin) 본문

알고리즘 문제 풀이/프로그래머스

[Algorithm] 프로그래머스 - 로그인 성공? (Kotlin)

참깨빵위에참깨빵_ 2023. 1. 29. 23:18
728x90
반응형

 

오랜만에 풀 수 있는 문제가 나왔다. id_pw에서 id, pw를 각각 변수에 담고 db를 순회하면서 id, pw를 확인해 모두 맞는지, id만 일치하는지를 따져서 적절한 문자열을 리턴하고, 어떤 문자열도 담기지 않았다면 "fail"을 리턴시킨다.

 

class Solution {
    fun solution(id_pw: Array<String>, db: Array<Array<String>>): String {
        var answer = ""
        val id = id_pw[0]
        val pw = id_pw[1]
        for (i in db.indices) {
            if (id == db[i][0] && pw == db[i][1]) {
                answer = "login"
            } else if (id == db[i][0] && pw != db[i][1]) {
                answer = "wrong pw"
            } else {
                if (answer != "login" && answer != "wrong pw") {
                    answer = "fail"
                }
            }
        }

        return answer
    }
}

 

간단하게 만들면 아래와 같다. 너무 간단해서 무슨 코드인지 모르겠다.

 

class Solution {
    fun solution(idPw: Array<String>, db: Array<Array<String>>) =
        db.associate { (k, v) ->
            k to v
        } [idPw[0]]?.run {
            if (equals(idPw[1])) "login"
            else "wrong pw"
        } ?: "fail"
}
반응형
Comments