알고리즘 문제 풀이/프로그래머스
[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문을 쓰기 때문에 생략한다.
반응형