1. isOldEnoughToDrink
문제 : 나이를 입력받아 술을 마실 수 있는지(18세 이상) 여부를 리턴해야 합니다.
<내가 작성한 코드>
function isOldEnoughToDrink(age) { if (age >= 18) { return true; } else { return false;} }
2. isGreaterThan30
문제 : 온도를 입력받아 해당 온도가 30이 넘는지 확인 후 알맞은 값을 리턴해야 합니다.
<내가 작성한 코드>
function isGreaterThan30(temp) { if(temp < 30) { return '여름이 매우 덥네요';} else return '에어컨을 켜야겠다!';} }
3. equalsTen 💔
문제 : 수를 입력받아 10과 같은지 여부를 리턴해야 합니다.
<내가 작성한 코드>
function equalsTen(num) { if(num === 10){ return true;} else return false; }
<정답 코드>
function equalsTen(num) { return num === 10 ; }
4. isGreaterThan
문제 : 두 개의 수를 입력받아 두번째 수가 첫번째 수보다 큰지 여부를 리턴해야 합니다.
<내가 작성한 코드>
function isGreaterThan(num1, num2) { if (num1 < num2) { return true; } return false; }
5. isEven
문제 : 수를 입력받아 짝수인지 여부를 리턴해야 합니다.
<내가 작성한 코드>
function isEven(num) { if(num % 2 === 0) { return true;} else return false; }
<정답 코드>
function isEven(num) { if(num%2 === 0) { return true; } return false; }
6. isEvenAndGreaterThanTen
문제 : 수를 입력받아 입력된 수가 10보다 크고 짝수인지 여부를 리턴해야 합니다.
<내가 작성한 코드>
function isEvenAndGreaterThanTen(num) { if(num > 10 && num%2 === 0) { return true; } else return false; }
7. fizzBuzz
문제 : 수를 입력받아 3 그리고 5로 각각 나눈 뒤 나머지 값에 따라 알맞은 메시지를 리턴해야 합니다.
<내가 작성한 코드>
function fizzBuzz(num) { if (num % 3 === 0 && num % 5 === 0) { return 'FizzBuzz'; } else if (num % 3 === 0) { return 'Fizz'; } else if (num % 5 === 0) { return 'Buzz'; } else { return 'No FizzBuzz'; } }
8. miniCalculator
문제 : 두 개의 수와 기호를 입력받아 알맞게 계산한 값을 리턴해야 합니다.
<내가 작성한 코드>
function miniCalculator(num1, num2, operator) { if (operator === '+') { return num1 + num2; } else if (operator === '-') { return num1 - num2; } else if (operator === '*') { return num1 * num2; } else if (operator === '/') { return num1 / num2; } }
9. daysInMonth
문제 : 특정 달(month)을 입력받아 각 달에 몇 일이 있는지 리턴해야 합니다.
<내가 작성한 코드>
2월은 28일 / 4,6,9,11월은 30일 / 1,3,5,7,8,10,12월은 31일function daysInMonth(month) { if(month === 2){ return 28;} else if(month === 4 | month === 6 | month === 9 | month === 11) { return 30;} else { return 31;} }
10. followingDay
문제 : 요일을 입력받아 해당 요일의 다음 요일을 리턴해야 합니다.
<내가 작성한 코드>
function followingDay(day) { if (day === '월요일') { return '화요일'; } else if (day === '화요일') { return '수요일'; } else if (day === '수요일') { return '목요일'; } else if (day === '목요일') { return '금요일'; } else if (day === '금요일') { return '토요일'; } else if (day === '토요일') { return '일요일'; } else if (day === '일요일') { return '월요일'; } else return '올바른 요일이 아닙니다' }
11. isEitherEvenAndLessThan9 💔
문제 : 두 개 수를 입력받아 아래의 2가지 조건을 모두 만족하는지 검사합니다.
EitherEven: 적어도 하나의 수는 짝수이다.
LessThan9: 두 수 모두 9보다 작다.
<내가 작성한 코드>
function isEitherEvenAndLessThan9(num1, num2) { if(num1 < 9 && num2 < 9){ if(num1%2 === 0 || num2%2 === 0){ return true;} return false;} return false;}
12. convertScoreToGrade 💔
문제 : 점수를 입력받아 점수에 해당하는 등급을 리턴해야 합니다.
<내가 작성한 코드>
function convertScoreToGrade(score) { if(score > 100 || score < 0) { return 'INVALID SCORE'; } else if(score >= 90) { return 'A'; } else if(score >= 80) { return 'B'; } else if(score >= 70) { return 'C'; } else if(score >= 60) { return 'D'; } else if (score >= 0) { return 'F'; }
<정답 코드>
function convertScoreToGrade(score) { let grade; if(score > 100 || score < 0) { return 'INVALID SCORE'; } else if(score >= 90) { return 'A'; } else if(score >= 80) { return 'B'; } else if(score >= 70) { return 'C'; } else if(score >= 60) { return 'D'; } else if (score >= 0) { grade = 'F'; } return grade; }
13. convertScoreToGradeWithPlusAndMinus 💔
문제 : 점수를 입력받아 점수에 해당하는 등급을 리턴해야 합니다.
만약 주어진 점수가 100을 초과하거나 0 미만인 경우, 문자열 'INVALID SCORE'를 리턴해야 합니다.
각 등급의 최고 점수보다 7점 이하인 경우, 등급과 함께 '-'를 리턴해야 합니다. (단, 93점의 경우에는 A를 리턴해야 합니다.)
각 등급의 최저 점수보다 8점 이상인 경우, 등급과 함께 '+'를 리턴해야 합니다.
F+ 와 F- 는 존재하지 않습니다.
<내가 작성한 코드>
function plusOrMinus(score) { if (extra <= 2) { return '-'; } else if (extra >= 8) { return '+'; } else { return ''; } } function convertScoreToGradeWithPlusAndMinus(score) { let grade; if (score > 100 || score < 0) { return 'INVALID SCORE'; } if (score === 100) { return 'A+'; } if (score >= 90) { grade = 'A'; } else if (score >= 80) { grade = 'B'; } else if (score >= 70) { grade = 'C'; } else if (score >= 60) { grade = 'D'; } else if (score >= 0) { grade = 'F'; } return grade; }
14. isPythagorean 💔
문제 : 삼각형의 세 변을 입력받아 직각삼각형(pythagorean)인지 여부를 리턴해야 합니다.
<내가 작성한 코드>
function isPythagorean(side1, side2, side3) { const pow1 = side1 * side1; const pow2 = side2 ** 2; const pow3 = Math.pow(side3, 2); if (pow1 === pow2 + pow3 || pow2 === pow1 + pow3 || pow3 === pow1 + pow2) { return true; } return false;}
✅ Math.pow(base, exponent)
15. or
문제 : 두 개의 boolean 값을 입력받아 or 연산을 적용한 것과 같은 결과를 리턴해야 합니다.
<내가 작성한 코드>
function or(expression1, expression2) { if (expression1 === true && expression2 === true) { return true; } else if (expression1 === true && expression2 !== true) { return true; } else if (expression1 !== true && expression2 === true) { return true; } else if (expression1 !== true && expression2 !== true) { return false; } }
16. addOneSecond 💔❓
문제 : 시, 분, 초를 입력받아 1초를 더한 결과값을 특정 형태의 메시지로 리턴해야 합니다.
1초 뒤에 {hour}시 {minute}분 {second}초 입니다 형식으로 리턴해야 합니다.
<정답 코드>
function addOneSecond(hour, minute, second) { if (second === 59) { minute += 1; second = 0; } else { second += 1; } if (minute === 59) { hour += 1; minute = 0; } if (hour === 24) { hour = 0; } return '1초 뒤에 ' + hour + '시 ' + minute + '분 ' + second + '초 입니다'; }
17. isFalsy
문제 : 임의의 값을 입력받아 falsy 값인지 여부를 리턴해야 합니다.
boolean 타입을 리턴해야 합니다.
<내가 작성한 코드>
function isFalsy(anything) { return !Boolean(anything); }
✅ Boolean - 참,거짓