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

 

접미사인지 확인하기

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

 

프로그래머스

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

programmers.co.kr

function solution(my_string, is_suffix) {
    let x = my_string.slice(my_string.length - is_suffix.length)
    return x === is_suffix ? 1 : 0;
}

 

 


 

배열 비교하기

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

function solution(arr1, arr2) {
    let sum_arr1 = arr1.reduce((a,c) => a+c)
    let sum_arr2 = arr2.reduce((a,c) => a+c)
    return arr1.length > arr2.length ? 1 : arr1.length < arr2.length ? -1 : sum_arr1 > sum_arr2 ? 1 : sum_arr1 < sum_arr2 ? -1 : 0;
}

 

 


부분 문자열 이어 붙여 문자열 만들기

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

function solution(my_strings, parts) {
    return my_strings.map((v,i) => v.slice(parts[i][0],parts[i][1]+1)).join('');
}

 

 


 

l로 만들기

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

function solution(myString) {
    let al = 'abcdefghijk'
    return [...myString].map(v => al.includes(v) ? "l" : v).join('');
}

 

 


5명씩

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

function solution(names) {
    let answer = []
    for (let i=0; i < names.length; i += 5) {
        answer.push(names[i])
    }
    return answer;
}

 

 

 


 

순서바꾸기

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

function solution(num_list, n) {
    let num1 = num_list.slice(0,n)
    let num2 = num_list.slice(n)
    for (let i of num1) {
        num2.push(i)
    }
    return num2
}

 

function solution(num_list, n) {
    num_list.push(...num_list.splice(0, n));
    return num_list
}

이렇게 푸는 방법이 생각이 안 났다..

 

 


할 일 목록

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

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

 

 


 

접미사 배열

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

function solution(m) {
    let answer = [];
    for (let i = 0; i < m.length; i++) {
        answer.push(m.slice(i))
    }
    return answer.sort()
}

 


 

배열의 원소 삭제하기

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

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

 


간단한 식 계산하기

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

function solution(binomial) {
    return eval(binomial);
}

eval을 사용하면 간단하지만 문제의 의도는 eval을 사용하지 않고 푸는 것일 테니 다른 방식으로도 해결하였다.

 

function solution(b) {
    b =  b.split(' ')
    switch (b[1]) {
        case "+" :
            return +b[0] + +b[2]
        case "-" :
            return +b[0] - +b[2]
        case "*" :
            return +b[0] * +b[2]
    }

}

 

comment