Javascript 조건문 1~17번 풀이

fejigu·2022년 7월 3일
2

Javascript

목록 보기
6/21
post-thumbnail

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 - 참,거짓

profile
신규 서비스의 기획부터 개발, 운영까지 전 과정을 경험한 주니어 📱

0개의 댓글