본문 바로가기

[python]/알고리즘 공부

프로그래머스 모스부호(1) [자바스크립트]

728x90

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

 

프로그래머스

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

programmers.co.kr

 

function solution(letter) {
    let result = letter.split(' ')
    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'
}
    for(let i = 0; i<result.length; i++){
        answer += morse[result[i]]
    }
    return answer
}

split() 

문자열을 일정한 구분자로 잘라서 배열로 저장

 

 

https://hianna.tistory.com/377

 

[Javascript] 문자열을 배열로 변환 (split 함수)

문자열을 일정한 구분자로 잘라서 각각의 문자열을 배열로 저장하는 방법을 알아보도록 하겠습니다. 문자열을 일정한 구분자로 잘라서 배열로 저장하기 위해서는 split() 함수를 사용합니다. spli

hianna.tistory.com

 

다른 분들 코드

function solution(letter) {
    return letter.split(' ').reduce((prev, curr) => prev + morse[curr], '')
}

reduce로 하니 훨씬 간결하다.

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce

 

Array.prototype.reduce() - JavaScript | MDN

reduce() 메서드는 배열의 각 요소에 대해 주어진 리듀서 (reducer) 함수를 실행하고, 하나의 결과값을 반환합니다.

developer.mozilla.org

 

728x90