[프로그래머스 0단계 :JS] 작성일 기준 정답률 81%

안녕하세요 연하입니다. 

이번에는 좀 오랜만에 돌아왔네요.

정답률 81%문제를 풀어보겠습니다. 오늘도 화이팅!

 

1. 모스부호(1)

function solution(letter) {
    var 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'
    }
    letter.split(' ').map( x => {
        answer+=morse[x];
    });
    return answer;
}

2. A로 B만들기

function solution(before, after) {
    let answer = [...before].map(x => after = after.replace(x,''));  
    return answer[answer.length-1] === ""?1:0;
}

(추가!!)

function solution(before, after) { 
    return [...before].sort().join('') == [...after].sort().join('')?1:0;
}

3. k의 개수

function solution(i, j, k) {
    var answer = 0;
    while(j){
        [...String(j)].map(x => x===String(k)?answer+=1:answer=answer);    
        j--;
        if(j===i-1)break;
    }
    return answer;
}

(추가!!)

//Array(n) n개의 길이를 가진 배열 생성
function solution(i, j, k) {
    return Array(j-i+1).fill(i).map((i,v)=>v+i).join('').split(k).length-1
}