3은로그

[프로그래머스] Lv.0 모스부호(1) 본문

코딩테스트

[프로그래머스] Lv.0 모스부호(1)

3은 2023. 9. 12. 02:40
728x90

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제

 

 

코드

 

function 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 letter.split(" ").map((v) => morse[v]).join("");
}

 

1. letter.split(" ")

  • map을 사용하기 위해 letter를 배열로 변환
  • split(" ")는 공백을 기준으로 문자열을 잘라 배열에 차례대로 넣는다.

* 공백을 기준으로 자르는 이유

- 제한사항

letter의 모스부호는 공백으로 나누어져 있습니다.

이기 때문이다. 

 

 

2. map((v) => morse[v])

  • letter를 공백을 기준으로 잘라넣은 배열을 순회하면서 morse 객체에서 모스부호를 찾아 해당하는 영어로 변환한다.

 

3. join("")

  • 배열을 하나의 문자열로 합친다.