https://school.programmers.co.kr/learn/courses/30/lessons/120838
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[ 문제 ]

[ 내 풀이 ]
function solution(letter) {
// 문자열을 넣을 변수 생성
let 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'
}
// 주어지는 매개변수는 모스부호이며, 공백으로 구분되어있음
// 공백을 기준으로 나눠서 배열로 저장
let letters = letter.split(' ')
// 배열을 순회하며 모스부호에 해당하는 알파벳을 answer에 추가
for(let i=0; i<letters.length; i++){
answer += morse[letters[i]]
}
return answer;
}
[ 다른 풀이 ]
// morse를 function 밖으로 빼서 선언
// 더 간단한 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) {
return letter.split(' ').reduce((prev, curr) => prev + morse[curr], '')
}
반응형
'Algorithm > Javascript' 카테고리의 다른 글
| [ 프로그래머스 ] 구슬을 나누는 경우의 수 ( JS ) (0) | 2024.06.21 |
|---|---|
| [ 프로그래머스 ] 가위 바위 보 ( JS ) (1) | 2024.06.19 |
| [ 프로그래머스 ] 개미 군단 ( JS ) (0) | 2024.06.18 |
| [ 프로그래머스 ] 순서쌍의 개수 ( JS ) (0) | 2024.06.18 |
| [ 프로그래머스 ] 진료순서 정하기 ( JS ) (0) | 2024.06.18 |
