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

배열 만들기 3

function solution(arr, int) {
    const arr1 = arr.slice(int[0][0], int[0][1]+1)
    const arr2 = arr.slice(int[1][0], int[1][1]+1)
    for (let i of arr2) {
        arr1.push(i)
    }
    return arr1;
}
function solution(arr, intervals) {
    const [[a,b],[c,d]] = intervals;

    return [...arr.slice(a, b+1), ...arr.slice(c, d+1)];
}

 

 


 

콜라츠 수열 만들기

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

function solution(n) {
    let ans = [n];
    while (n > 1) {
        n % 2 === 0 ? n = n / 2 : n = 3 * n + 1
        ans.push(n)
    }
    return ans;
}

 

 


글자 지우기

 

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

function solution(s, indices) {
    return [...s].filter((v, i) => !indices.includes(i)).join('');
}

 

 

 


 

 

왼쪽 오른쪽

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

function solution(lst) {
    for (let i = 0; i < lst.length; i++) {
        if (lst.length <= 1 || !lst.includes('l') && !lst.includes('r')) {
            return []
        } else if (lst[i] === 'l') {
            return lst.slice(0,i)
            break
        } else if (lst[i] === 'r') {
            return lst.slice(i+1)
            break
        }
    }
}

 

 

 

 


 

간단한 논리 연산

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

function solution(x1, x2, x3, x4) {
    let xx1 = x1 === x2 ? x1 : true 
    let xx2 = x3 === x4 ? x3 : true
    return xx1 === xx2 ? xx1 : false ;
}

 

 


등차수열의 특정한 항만 더하기

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

function solution(a, d, included) {
    let ans = 0;
    for (let i of included) {
        if (i === true) {
            ans += a
        }
        a += d
    }
    return ans;
}

 

 

 


세 개의 구분자

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

function solution(myStr) {
    myStr = myStr.split(/[abc]/).filter(v => v)
    return myStr.length === 0 ? ["EMPTY"] : myStr;
}

 


문자열 묶기

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

function solution(strArr) {
    strArr = strArr.map(v => v.length);
    let dic = {}
    strArr.forEach(v => dic[v] ? dic[v] += 1 : dic[v] = 1)
    const max = Object.values(dic)
    return Math.max(...max);
}

 

 


커피심부름

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

function solution(order) {
    let ans = 0;
    order.forEach(i => i.includes("cafe") ? ans += 5000 : ans += 4500)
    return ans;
}

 


 

qr code

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

function solution(q, r, code) {
    let answer = ''
    for (let i = r; i < code.length; i += q) {
        answer += code[i]
    }
    return answer;
}

 

 

comment