안녕하세요. 오늘은 프로그래머스 0단계 정답률 89% 문제를 풀어봤습니다.
정답 코드입니다.
제가 처음 실수했던 부분이
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;
}
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;
}