문제
수를 입력받아 홀수인지 여부를 리턴해야 합니다.
입력
인자 : number 타입의 정수
출력
boolean 타입을 리턴해야 합니다.
입출력 예시
let output = isOdd(17);
console.log(output); // --> true
output = isOdd(-8);
console.log(output); // --> false
풀이코드 설명
function isOdd(num) {
// 입력받은 num이 0이면 false 반환
if (num === 0) {
return false;
// 입력받은 num이 1이면 true
} else if (num === 1) {
return true;
}
//num이 음수일 경우 - 붙이기
if (num < 0) {
return isOdd(-num);
}
// isOdd를 재귀로 계속해서 호출
return isOdd(num - 2);
}
//첫 작성 코드 지저분해서 보기가 힘들다.
function isOdd(num) {
// // num을 입력받는다.
// // num이 홀수인지 리턴한다. 데이터 타입은 boolean으로 리턴
// // 재귀를 사용해야하고 반복문과 나머지 연산자는 사용할 수 없다.
// // 짝수는 2로 나눈 나머지 0 홀수는 2로 나눈 나머지가 1
// if (num === 0 ){
// return false;
// }
// else if (num === -2){
// return false;
// }
// else if (num === 1 ){
// return true;
// }
// else if (num === -1){
// return true;
// }
// if (num >= 0){
// return isOdd(num - 2);
// }
// else {
// return isOdd(num + 2);
// }
// }
Javascript 재귀 함수문제(4) - take (0) | 2022.12.11 |
---|---|
Javascript 재귀 함수문제(3) - drop (0) | 2022.12.11 |
Javascript 고차 함수문제(12) - studentReports (0) | 2022.12.10 |
Javascript 고차 함수문제(11) - findShortestWord (0) | 2022.12.10 |
Javascript 고차 함수문제(10) - joinArrayOfArrays (0) | 2022.12.10 |