프로그래머스_Lv0_모스부호(1)_파이썬

Today Jeeho Learned·2022년 12월 15일
0

알고리즘

목록 보기
27/38
post-thumbnail

문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/120838

내 답안

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

풀이 정리

  • 문제를 이해하는데 오래걸렸다. 덤벙대지말고 문제를 꼭 꼼꼼히 읽자!
  • 파이썬에서 {}형식으로 되어있는 것은 dict, dictionary형식으로 'key' : value 형식으로 구성되어있다.
  • 매개변수로 주어지는 letter의 모스부호는 공백으로 나누어져있다.
  • 이 말은 즉슨 letter를 공백으로 split하여 나누어주고, 나누어준 배열들을 dict에서 찾아서 해당 값을 추출하면 된다.

다른풀이

def solution(letter):
    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'
    }

    return ''.join([morse[i] for i in letter.split(' ')])

나름 담백하게 풀었다고 생각했는데 한줄의 코딩을보면 홀리쒸잇~이 나온다. ㄷㄷ
나도 저렇게 풀수있겠지?

profile
기록해야 (살아)남는다 !

0개의 댓글