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을 써서, 결괏값과 동일하게 만들어주면 문제 해결!
'문제 풀기 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 숨어있는 숫자의 덧셈(2) (+ isdigit(), isalpha(), ''.join()), 1h (0) | 2024.12.31 |
---|---|
[프로그래머스] 팩토리얼 (+실패흔적들, 1h) (1) | 2024.12.31 |
[프로그래머스] 중복된 문자 제거 ''.join(dict.fromkeys()) (0) | 2024.12.31 |
[프로그래머스] 2차원 만들기 (+실패 흔적들), 슬라이싱[시작:끝:간격] (0) | 2024.12.30 |
[프로그래머스] 문자열 정렬하기(1) (숫자 판별 문제, isdigit()) (1) | 2024.12.30 |