
https://school.programmers.co.kr/learn/courses/30/lessons/120838
머쓱이는 친구에게 모스부호를 이용한 편지를 받았습니다. 그냥은 읽을 수 없어 이를 해독하는 프로그램을 만들려고 합니다. 문자열 letter가 매개변수로 주어질 때, letter를 영어 소문자로 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.
모스부호는 다음과 같습니다.
morse = {
'.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f',
'--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l',
'--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r',
'...':'s','-':'t','..-':'u','...-':'v','.--':'w','-..-':'x',
'-.--':'y','--..':'z'
}
letter 문자열에 있는 모스부호를 영어 소문자로 변환합니다.dictionary)을 사용하여 효율적으로 문자를 해석합니다.split 함수를 사용하여 입력된 문자열을 모스부호 단위로 분리합니다.def solution(letter):
# 반환할 문자열 초기화
answer = ''
# 모스 부호를 영문자로 매핑하는 사전
morse = {
'.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f',
'--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l',
'--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r',
'...':'s','-':'t','..-':'u','...-':'v','.--':'w','-..-':'x',
'-.--':'y','--..':'z'
}
# 문자열을 공백을 기준으로 분리
splited_letter = letter.split(" ")
# 분리된 모스부호를 영문자로 변환하여 결과 문자열에 추가
for code in splited_letter:
answer += morse[code]
return answer
이 문제를 해결하면서 모스부호와 같은 간단한 암호화 기법을 프로그래밍을 통해 어떻게 해석할 수 있는지 배울 수 있었습니다. 문자열을 처리하고, 사전을 사용하여 각 심볼을 해당하는 값으로 매핑하는 과정은 다른 많은 프로그래밍 문제에서도 유용하게 활용될 수 있습니다. 또한, 이 과제를 통해 문자열 분할과 반복문을 사용하는 기술을 실습함으로써 Python에서 문자열을 다루는 능력을 향상시킬 수 있었습니다.