본문 바로가기

Programmers_JavaScript

[Programmers] 코딩테스트 정답률 89% 이상 모음 (3)

Q. 조건에 맞게 수열 변환하기

function solution(arr, k) {
    let _arr = [];
    if(k % 2 === 0) {
        _arr = arr.map((x) => x + k);
    } else {
        _arr = arr.map((x) => x * k);
    }
    return _arr;
}

 

 

 

Q. 순서바꾸기

function solution(num_list, n) {
    const before = num_list.slice(0, n);
    const after = num_list.slice(n, num_list.length+1);
    return [...after, ...before];
}

 

 

 

Q. 할 일 목록

function solution(todo_list, finished) {
    return todo_list.filter((x,i) => !finished[i]);
}

 

 

 

Q. 길이에 따른 연산

function solution(num_list) {
    return num_list.reduce((acc,cur) => num_list.length >= 11 ? acc+cur : acc*cur);
}

 

 

 

Q. 조건 문자열

function solution(ineq, eq, n, m) {
    switch(ineq.concat(eq).toString()) {
        case ">=":
            return n >= m ? 1 : 0;
        case "<=":
            return n <= m ? 1 : 0;
        case ">!":
            return n < m ? 0 : 1;
        case "<!":
            return n > m ? 0 : 1;
    }
}

 

 

 

Q. 배열의 원소만큼 추가하기

function solution(arr) {
    let _arr = [];
    arr.forEach((x) => {
        _arr.push(Array(x).fill(x));
    });
    return _arr.flat();
}

 

 

 

Q. 배열의 원소 삭제하기

function solution(arr, delete_list) {
    return arr.filter((x) => !delete_list.includes(x));
}

 

 

 

Q. 글자 이어 붙여 문자열 만들기

function solution(arr, delete_list) {
    return arr.filter((x) => !delete_list.includes(x));
}

 

 

 

Q. 뒤에서 5등까지

function solution(num_list) {
    return num_list.sort((a,b) => a-b).slice(0,5);
}

 

 

 

Q. 배열에서 문자열 대소문자 변환하기

function solution(strArr) {
    return strArr.map((a,i)=> i%2===0 ? a.toLowerCase() : a.toUpperCase());
}

 

 

 

Q. 공백으로 구분하기 2

function solution(my_string) {
    return my_string.split(" ").filter((x) => x != "");
}

 

 

 

 

Q. A 강조하기

function solution(myString) {
    return myString.toLowerCase().replaceAll("a", "A");
}

 

 

 

Q. 가까운 1 찾기

 

function solution(arr, idx) {
    return arr.findIndex((x,i) => i >= idx && x == 1);
}

 

 

 

Q. 부분 문자열인지 확인하기

function solution(arr, idx) {
    return arr.findIndex((x,i) => i >= idx && x == 1);
}