요즘 코딩테스트 문제를 안 푼 지 너무 오래됐다. 하루에 한 문제 이상은 꼭 풀어야겠다.
그리고 쉬운 문제라도 한 문제씩 따로 포스팅을 하는 게 나중에 찾아보기 편한 것 같다.
https://school.programmers.co.kr/learn/courses/30/lessons/120838?language=javascript

function solution(letter) {
const 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 answer = []
letter = letter.split(' ')
for (i of letter) {
answer.push(morse[i])
}
return answer.join('')
}
나는 for문과 join을 이용하여 하였지만 다른 사람들의 풀이를 보니 reduce를 이용하여 더 짧고 간단하게 풀 수 있었다.
function solution(letter) {
return letter.split(' ').reduce((prev, curr) => prev + morse[curr], '')
}
스플릿으로 나누고 리듀스를 이용하여 for문과 join을 쓰지 않고도 바로 답을 출력할 수 있다..
map이랑 join을 같이 이용해도 됨
| [자바스크립트/javascript] 프로그래머스 : 없는 숫자 더하기 (Lv.1) (0) | 2023.03.15 |
|---|---|
| [자바스크립트/javascript] 프로그래머스 : 3진법 뒤집기 (Lv.0) (0) | 2023.03.05 |
| [자바스크립트/javascript] 프로그래머스 : 코딩테스트 입문 65~70문제 (0) | 2023.02.06 |
| [자바스크립트/javascript] 프로그래머스 : 코딩테스트 입문 61~65문제 (0) | 2023.01.24 |
| [자바스크립트/javascript] 프로그래머스 : 코딩테스트 입문 56~60문제 (0) | 2023.01.23 |