Level 0) 수학, 배열, 별찍기

Doozuu·2023년 1월 2일
0

프로그래머스 (JS)

목록 보기
8/183

📌 문제 1. 특정 문자 제거하기

특정 문자와 일치하는걸 제거하는 방법이 떠오르지 않아서 일치하지 않는걸 배열에 담아 return하는 방법으로 풀었다.

function solution(my_string, letter) {
    let answer = [];
    [...my_string].map((item) => item !== letter ? answer.push(item) : null);
    return answer.join('');
}

다른 방법

function solution(my_string, letter) {
    return my_string.replaceAll(letter, "");
}
function solution(my_string, letter) {
    return Array.from(my_string).filter(t => t !== letter).join('');
}

⭐️ 특정 부분 제거하기

방법 1. replaceAll( )

방법 2. filter( )



📌 문제 2 : 각도기

⚠️ 주의 : 0 < angle < 90 한 번에 다 나타내면 안되고, 0 < angle && angle < 90 으로 쪼개서 써야함.

내 코드

function solution(angle) {
    var answer = 0;
    
    if(0 < angle && angle < 90){
        answer = 1;
    }else if(angle == 90){
        answer = 2;
    }else if(90 < angle && angle < 180){
         answer = 3;
    }else if(angle == 180){
         answer = 4;
    }
    
    return answer;
}

참고) 삼항연산자 활용

function solution(angle) {
    return angle < 90 ? 1 : angle === 90 ? 2 : angle < 180 ? 3 : 4;
}

참고) 신박한 풀이

function solution(angle) {
    return [0, 90, 91, 180].filter(x => angle>=x).length;
}


📌 문제 3 : 양꼬치

function solution(n, k) {
    var answer = 0;
    if(n >= 10){
     answer = 12000 * n + 2000 * (k - Math.floor(n / 10))  
    }else{
     answer = 12000 * n + 2000 * k;   
    }
    return answer;
}


📌 문제 4 : 짝수의 합

내 코드

function solution(n) {
    let answer = 0;
    for(let i=0; i <= parseInt(n/2) ; i++){
       answer +=  2 * i;
    }
    return answer;
}

i+=2 이용해서 좀 더 깔끔하게 만들기

function solution(n) {
    let answer = 0;
    for(let i=0; i <= n ; i+=2){
       answer += i;
    }
    return answer;
}


profile
모든게 새롭고 재밌는 프론트엔드 새싹

0개의 댓글