[JS] 프로그래머스 0단계: 정답률 89%

ahyes·2022년 12월 11일
0
post-thumbnail

안녕하세요. 오늘은 프로그래머스 0단계 정답률 89% 문제를 풀어봤습니다.
정답 코드입니다.

  1. 각도기

제가 처음 실수했던 부분이

0<angle<90

이런 방식으로 부등호를 작성했는데 JS에선 0<angle && angle<90 으로 작성해야하네요.

언어마다 문법이 약간씩 다르니 이부분 주의해주시면 되겠습니다.

function solution(angle) {
    var answer = 0;
    if(angle<90){
        answer = 1
    }
    else if(angle === 90){
        answer = 2
    }
    else if(angle<180){
        answer = 3;
    }
    else answer =4;;
    return answer;
}
  1. 짝수의 합
    처음부터 while로 전체를 반복했는데 시간초과가 나오네요.
function solution(n) {
    var answer = 0;
    if(n%2 == 0){//짝수일 때
        let p =n/2;
        while(p){
            answer = p + answer;
            p = p-1;
        }
    }
    else {
        let p =(n-1)/2;
        while(p){
            answer = p + answer;
            p = p-1;
        }
    }
    return answer*2;
}

(수정!!)

공식을 이용하면 좀더 빠르게 계산할 수 있습니다.

n이하의 수를 모두 더하는 공식은 n(n+1)/2 입니다.

이를 이용하게 되면

function solution(n) {
    var answer = 0;
    answer = Math.floor(n/2)*(Math.floor(n/2)+1);
    return answer;
}
profile
티스토리로 이사갑니다. https://useyhnha.tistory.com/

0개의 댓글