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'}
    
    letter = letter.split()
    
    for i in letter:
        answer.append(morse[i])
        
    return ''.join(answer)

 

🤔 문제 풀이

  • letter = letter.split()
    • 문제를 보자마자 "split() 해야겠다". 라는 생각을 했어요
    • 왜냐면 "letter의 모스부호는 공백으로 나누어져 있습니다"를 봤거든요
  • for i in letter:
    • 그리고 한 글자씩 돌아가면서 봐야하니까 for문을 사용했어요
  • answer.append(morse[i])
    • morse는 딕셔너리 형태로 기입돼 있어요
    • 그렇다면 for문에서 만들어준 i는 morse의 key 역할이 되는 거예요
    • 딕셔너리에서 key을 입력해주면 value값이 출력되기 때문에 그 값을 answer에 append 해주었어요
    • 🔥append를 쓸 때, answer이 answer = '' 이 형태면 추가 안 돼요. answer = []로 변경해주셔야 추가 가능합니다.
  • return ''.join(answer)
    • answer에는 ""이 형태로 들어가져 있을 거예요
    • 그래서 join을 써서, 결괏값과 동일하게 만들어주면 문제 해결!

+ Recent posts