코딩일지
작성자 | |||
성 명 | 최주희 | 작성일자 | 2022.01.30 |
세부 코딩 내용 | 모스부호 | ||
활동 기간 | 2022.01. 30 | ||
문제 | 머쓱이는 친구에게 모스부호를 이용한 편지를 받았습니다. 그냥은 읽을 수 없어 이를 해독하는 프로그램을 만들려고 합니다. 문자열 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' } |
||
나의 풀이 | function solution(letter) { let 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' } let morseLetter="" let morseSymbol=letter.split(' '); morseSymbol.map((a)=>{ morseLetter+=(morse[a]) }) return morseLetter } |
||
결과 | 통과 | ||
다른 풀이 | function solution(letter) { return letter.split(' ').reduce((prev, curr) => prev + morse[curr], '') } |
return letter.split(' ').map(v=>morse[v]).join(''); |
|
해석 | 의문 : 왜? join(‘’)이 가능한거지..? 아까 내가 썼을때는 안됐는데!! 이유는 {morse[a]} 이렇게 morse에 중괄호를 해줘버렸다. |
||
키워드 | 코딩내용 | 생각 | |
1. 필요한 조건 정리
2. 풀이단계 정리
|
항상 사용하던 for문을 사용할까하다 이번에는 map을 사용했다. 처음에 join함수를 사용하여 문자를 합치려고 했는데 왜인지 모르겠는데 오류가 떴다. morse[a]를 중괄호{}로 감쌌기 때문이었다. 이런 기본에서 생긴 오류 때문에 문제를 푸는데 시간을 소요했다는 게 화가났다. 항상 느끼는 거지만 다양한 함수를 아는 것도 중요하지만 기본이 정말 중요한 것 같다. |
||
'프론트엔드로 가는 길 > 프로그래머스' 카테고리의 다른 글
32. 프로그래머스_구슬을 나누는 경우의 수 (0) | 2023.02.01 |
---|---|
31. 프로그래머스_가위바위보 (0) | 2023.01.31 |
30. 프로그래머스 _개미 군단 (0) | 2023.01.29 |
29. 프로그래머스_순서쌍의 개수 (1) | 2023.01.28 |
28. 프로그래머스_진료 순서 정하기 (0) | 2023.01.27 |