자료구조 및 알고리즘/JavaScript Practice

JS Practice) 프로그래머스로 공부하기 2

Ryomi 2023. 2. 22. 11:11
728x90
반응형

 

1. 각도를 받아 예각이면 1, 직각이면 2, 둔각이면 3, 평각이면 4 반환

- 내가 짠 코드

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

Solution

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

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

 

2. 두 개의 숫자를 받아, 첫번째 수가 크면 true, 아니면 false 반환

- 내가 짠 코드

const sol = (n1, n2) => n1 > n2 ? true : false;

sol(1, 2);
// false
sol(2, 1);
// true

Solution

const sol = (n1, n2) => n1 > n2 === true;

sol(1, 2);
// false
sol(2, 1);
// true

 

3. n 이하의 짝수 합 구하기

- 내가 짠 코드

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

-  Solution

function solution(n) {
    var half = Math.floor(n/2);
    return half*(half+1);
}

 

4. 음식 A를 10인분 먹으면 음료 하나가 공짜. A는 x원, 음료는 y원. A n인분과 음료 k개를 마셨을 때, 총 지불금액  return 

- 내가 짠 코드

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

-  Solution

function solution(n, k) {
    return n*12000 + k*2000 - parseInt(n/10)*2000
}

 

5. 배열의 각 요소를 두 배로 한 배열

- 내가 짠 코드

function solution(numbers) {
    return numbers.map((n) => n*2)
}

 

728x90
반응형