프로그래머스: 코딩 기초 트레이닝 javascript 86~90문제

리스트 자르기

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

function solution(n, s, num_list) {
    switch (n){
        case 1:
            num_list = num_list.slice(0, s[1]+1)
            break
        case 2:
            num_list = num_list.slice(s[0])
            break
        case 3:
            num_list = num_list.slice(s[0], s[1]+1)
            break
        case 4:
            num_list = num_list.slice(s[0], s[1]+1).filter((v,i) => i % s[2] === 0)
            break
    }

 


 

문자열 뒤집기

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

function solution(my, s, e) {
    let x = [...my.slice(s,e+1)].reverse().join('')
    return my.slice(0,s) + x + my.slice(e+1);
}

 

 


 

문자열이 몇 번 등장하는지 세기

https://school.programmers.co.kr/learn/courses/30/lessons/181871?language=javascript 

function solution(my, pat) {
    let cnt = 0;
    for (let i = 0; i <= my.length - pat.length ; i++) {
        if (my.slice(i, i + pat.length) == pat) {
            cnt += 1
        }
    }
    return cnt;
}

 

 


 

정사각형으로 만들기

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

function solution(arr) {
    const len = arr.length - arr[0].length
    if (len < 0) {
        for (let i = 0; i < Math.abs(len); i++) {
            arr.push(Array.from({length: arr[0].length}, () => 0))
        }
    } else if (len > 0) {
        for (let i = 0; i < arr.length; i++) {
            for (let j = 0; j < len; j++) {
                arr[i].push(0)
            }    
        }      
    }
    return arr;
}

 

 


 

문자열 겹쳐쓰기

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

function solution(m, o, s) {
    m = m.split('')
    o = o.split('')
    return m.map((v, i) => i >= s && i < o.length + s ? o[i-s] : v).join('');
}

 

 

 

comment