관리 메뉴

나만을 위한 블로그

[Algorithm] 프로그래머스 - 모스부호 (1) (Kotlin) 본문

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

[Algorithm] 프로그래머스 - 모스부호 (1) (Kotlin)

참깨빵위에참깨빵_ 2022. 12. 26. 18:44
728x90
반응형
모스부호를 해독하는 프로그램을 만들려고 한다. 문자열 letter가 매개변수로 주어질 때, letter를
영어 소문자로 바꾼 문자열을 리턴하는 solution()을 완성하라

 

 

Map을 써 보고 배열을 써서도 해 봤지만 풀리지 않았다. 다른 사람의 풀이를 참고했다.

 

class Solution {
    private val dictionary = mapOf(
        ".-" to "a",
        "-..." to "b",
        "-.-." to "c",
        "-.." to "d",
        "." to "e",
        "..-." to "f",
        "--." to "g",
        "...." to "h",
        ".." to "i",
        ".---" to "j",
        "-.-" to "k",
        ".-.." to "l",
        "--" to "m",
        "-." to "n",
        "---" to "o",
        ".--." to "p",
        "--.-" to "q",
        ".-." to "r",
        "..." to "s",
        "-" to "t",
        "..-" to "u",
        "...-" to "v",
        ".--" to "w",
        "-..-" to "x",
        "-.--" to "y",
        "--.." to "z"
    )

    fun solution(letter: String) = letter.split(" ".toRegex()).map { dictionary[it] }.joinToString("")
}

 

모스부호에 점이 들어가기 때문에 toRegex()를 쓴 건지 모르겠지만 저렇게 풀 수 있는 듯하다. 아스키 코드를 사용한 풀이도 있는데 2중 for문을 쓰기 때문에 생략한다.

반응형
Comments