[Javascript] 제어문 코테

유아현·2022년 10월 24일
0

JavaScript

목록 보기
3/25
post-thumbnail

나이를 입력받아 18세 이상 여부 리턴

나이를 입력받아 술을 마실 수 있는지(18세 이상) 여부를 리턴
	- boolean 타입을 리턴
    
function drink(age) {
if (age >= 18){
	return true; }
    else {
    	return false; }
}

console.log(drink(17));

에어컨을 켜야겠다!

온도를 입력받아 해당 온도가 30이 넘는지 확인 후 알맞은 값을 리턴

function hot(temp){
	if ( temp < 30 ) {
    	return '여름이 매우 덥네요';}
        else if ( temp >= 30) {
        	return '에어켠을 켜야겠다!';}
}

console.log(hot(30));

10랑 같을까?

수를 입력받아 10과 같은지 여부를 리턴
	- boolean 타입을 리턴
    
function number(aaa) {
	if (aaa === 10){
    	return true;}
      	else {
        	return false;}
}

console.log(number(10));

b가 더 클까?

두 개의 수를 입력받아 두번째 수가 첫번째 수보다 큰지 여부를 리턴
	- boolean 타입을 리턴

function number(a, b){
 if	( b > a ){
 	return true;}
    else {
    	return false;}    
}

console.log(number(2, 5));

짝수!

수를 입력받아 짝수인지 여부를 리턴
	- boolean 타입을 리턴

function isEven(num1){
	if (num1 % 2 === 0){
    	return true;}
        else {
        	return false;}
}

console.log(isEven(2));

10보다 크고 짝수인가?

수를 입력받아 입력된 수가 10보다 크고 짝수인지 여부를 리턴
	- boolean 타입을 리턴

function isEvenAndGreaterThanTen(num) {
  if (num === 10){
    return false;
  }
    else if (num >= 10 && num % 2 == 0){
      return true;
    }
      else {
        return false;
      }
}

console.log(isEvenAndGreaterThanTen(12));

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';
        }
}

console.log(fizzBuzz(5));

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;
            }

}

console.log(miniCalculator(3, 4, '+'));

daysInMonth

특정 달(month)을 입력받아 각 달에 몇 일이 있는지 리턴

function daysInMonth(month) {
  if (month === 1 || month === 3 || month === 5 || month === 7 ||
  	  month === 8 || month === 10 || month === 12){
    return 31;
  }
    else if ( month === 4 || month === 6 || month === 9 || month === 11){
      return 30;
    }
      else if (month === 2)
        return 28;
}
daysInMonth(1)

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 '올바른 요일이 아닙니다';
    }
}
followingDay('토요일')

isEitherEvenAndLessThan9

두 개 수를 입력받아 아래의 2가지 조건을 모두 만족하는지 검사
	- 적어도 하나의 수는 짝수
    - 두 수 모두 9보다 작음
    - boolean 타입을 리턴
    
function isEitherEvenAndLessThan9(num1, num2) {
  if ( (num1 % 2 === 0 || num2 % 2 === 0) && (num1 < 9 && num2  < 9)){
    return true;
  }
    else{
      return false;
    }
}
isEitherEvenAndLessThan9(2, 4);

convertScoreToGrade

점수를 입력받아 점수에 해당하는 등급을 리턴

function convertScoreToGrade(score) {
  if (score <= 100 && score >= 90){
    return 'A';
  }
    else if(score <= 89 && score >= 80){
      return 'B';
    }
    else if(score <= 79 && score >= 70){
      return 'C';
    }
    else if(score <= 69 && score >= 60){
      return 'D';
    }
    else if(score <= 59 && score >= 0){
      return 'F';
    }
    else{
      return 'INVALID SCORE';
    }
}
convertScoreToGrade(50)

convertScoreToGradeWithPlusAndMinus

점수를 입력받아 점수에 해당하는 등급
	- 100을 초과하거나 0 미만인 경우, 문자열 'INVALID SCORE'를 리턴
    - 각 등급의 최고 점수보다 7점 이하인 경우, 등급과 함께 '-'를 리턴
    - 각 등급의 최저 점수보다 8점 이상인 경우, 등급과 함께 '+'를 리턴
    - F+ 와 F- 는 존재X

function aaa(bscore) {
  if ( bscore <= 2 ){
    return '-';
  }
    else if ( bscore >= 8 ){
      return '+';
    }
    else {
      return '';
    }
}

function convertScoreToGradeWithPlusAndMinus(score) {
grade = score / 10;
bscore = score % 10 ;
if ( score > 100 || score < 0){
  return 'INVALID SCORE';
}
  else if ( score === 100){
    return 'A+';
  }
  else if ( score >= 90){
    return grade = 'A' + aaa(bscore);
  }
  else if ( score >= 80){
    return grade = 'B' + aaa(bscore);
  }
  else if ( score >= 70){
    return grade = 'C' + aaa(bscore);
  }
  else if ( score >= 60){
    return grade = 'D' + aaa(bscore);
  }
  else if ( score < 60){
    return grade = 'F';
  }
}

convertScoreToGradeWithPlusAndMinus(20)

피타고라스의 정리

삼각형의 세 변을 입력받아 직각삼각형(pythagorean)인지 여부를 리턴
		- boolean 타입을 리턴

function isPythagorean(side1, side2, side3) {
  q1 = side1 * side1;
  a1 = side2 ** 2;
  z1 = Math.pow(side3,2);

  if (q1 === a1 + z1 || a1 === q1 + z1 || z1 === q1 + a1){
    return true;
  }
    else{
      return false;
    }
}

isPythagorean(3,4,5)

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 {
      return false;
    }
}

or(true, false)

addOneSecond

시, 분, 초를 입력받아 1초를 더한 결과값을 특정 형태의 메시지로 리턴
	- string 타입을 리턴

function addOneSecond(hour, minute, second) {
  if ( hour === 23 && minute === 59 && second === 59){
    return '1초 뒤에 0시 0분 0초 입니다';
  }
    else if  (minute === 59 && second === 59 ){
      return '1초 뒤에 ' + (hour+1) + '시 0분 0초 입니다';
    }
      else if (minute === 59){
        return '1초 뒤에 ' + (hour+1) + '시 0분' + second + '초 입니다';
      }
      else if (second === 59){
        return '1초 뒤에 ' + hour + '시 ' + (minute+1) + '분 0초 입니다';
      }
        else{
          return '1초 뒤에 ' + hour + '시 ' + minute + '분 ' + (second+1) + '초 입니다';
        }
}

addOneSecond(14, 17, 59);

isFalsy

임의의 값을 입력받아 falsy 값인지 여부를 리턴
	- boolean 타입을 리턴

function isFalsy(anything) {
  if ( anything === 0 || anything === -0 || anything === '' || 
  anything === null || anything === undefined ){
    return true;
  }
    else if ( Number.isNaN(anything) === true){
      //else if ( anything === NaN )로 실행할 경우 false 값으로 나옴.
      return true;
    }
    else{
      return false;
    }
}
isFalsy(NaN);

0개의 댓글