Algorism
조건문(if, else)를 이용한 윤년 판별기
자라나라나무나무나
2022. 7. 4. 23:47
자연수를 입력으로 받아 두개의 조건 중 하나라도 윤년이면 true, 아니면 false
윤년이란?
- 4의 배수이고 100의 배수가 아닐 때
- 400의 배수일 때
오답
function answer(year) {
let result;
if(year/4 == 0 && year/100 != 0) {
if(year/400 == 0) {
result = true;
}
else {
result = false;
}
}
return result;
};
let input = [4,100,124,247,400];
for(let i = 0; i < input.length; i++) {
console.log(`#${i + 1} ${answer(input[i])}`);
}
나머지를 이용하여 푸려는 생각이 같았지만 %를 이용했으면 답이 나왔을 것 같다.
문제를 잘 이해하지 못하여 두가지 중 하나라도 참이면 윤년이라고 생각하지 못해서 undefined가 나왔다.
정답
function answer(year) {
let result;
if(year%4 == 0 && year%100 != 0) {
result = true;
} else if(year%400 == 0) {
result = true;
} else {
result = false;
}
return result;
};
let input = [4,100,124,247,400];
for(let i = 0; i < input.length; i++) {
console.log(`#${i + 1} ${answer(input[i])}`);
}