ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [CODECADEMY] 코드카데미 CODE CHALLENGES: JAVASCRIPT FUNDAMENTALS
    Java Script 2020. 6. 16. 17:21

     

     

    1. canIVote()

     

    canIVote의 인자(parameter)을 age로 잡아줘야함

    const canIVote = (age)=>{ 
      if (age >= 18){
        return true;
      } else if (age < 18){
        return false;
      }
    };
    
    console.log(canIVote(19)); //print >> true
    console.log(canIVote(18));//print >> true
    console.log(canIVote(5));//print >> false

     


     

    2. agreeOrDisagree()

    const agreeOrDisagree=(stringA="",stringB="")=>{
     if (stringA===stringB){
      return 'You agree!';
     } else {
       return 'You disagree!';
     }
    }
    
     console.log(agreeOrDisagree("yep", "yep")); 
     // print >> 'You agree!'

    3. lifePhase()

     

    3-1. if 문법 사용

    const lifePhase=(age)=>{
      if(age>=0 &&age<= 3) {
        return 'baby';
      } else if (4<= age && age<= 12) {
       return 'child'; 
      } else if (13<= age && age<= 19) {
       return 'teen';
      } else if (20<= age && age <= 64) { 
       return 'adult';
      } else if (65<= age && age<= 140) {
       return 'senior citizen'; 
      } else if (0> age || age >=140) {
       return 'This is not a valid age';
      }
    }
    
    
    console.log(lifePhase(15))
    // print >> teen

     

     

    3-1. switch statement사용

     

    switch의 variable을 true로 두기! 

    const lifePhase=(age)=>{
      switch(true){
       case age >= 0 && age<= 3:
       return 'baby';
       case 4<= age && age<= 12:
       return 'child';
       case 13<= age && age<= 19:
       return 'teen';
       case 20<= age && age <= 64:
       return 'adult';
       case 65<= age && age<= 140:
       return 'senior citizen';
       case 0> age || age >=140:
       return 'This is not a valid age';
      };
    }
    
    console.log(lifePhase(18)) 
    //print >>teen

     

     

    4. finalGrade()

     

    const finalGrade=(midterm,final ,homework)=>{
     const average=(midterm+final+homework)/3;
     if ((midterm< 0 || midterm> 100)||(final< 0 || final > 100)|| (homework < 0 || homework >100)) {
       return 'You have entered an invalid grade.';
     } else if (average>= 0 && average<= 59){
       return 'F'
     } else if (average>= 60 && average<= 69){
       return 'D'
     } else if (average>= 70 && average<= 79){
       return 'C'
     } else if (average>= 80 && average<= 89){
       return 'B'
     } else if (average>= 90 && average<= 100){
       return 'A'
    }}
    
    
    console.log(finalGrade(99, 92, 95)) // print 'A'

     

     


     

    5. reportingForDuty()

    const reportingForDuty= (rank,lastName) => {
    return `${rank} ${lastName} reporting for duty!` };
    
     console.log(reportingForDuty('Private','Fido'));
     // print >> Private Fido reporting for duty!

     

     


     

    6. Fix The Broken Code

     

    주사기는 1~6까지의 숫자가 있음.

    Math.random()*7을 쓰면 0을 포함한 0~6까지의 숫자가 나오기 때문에 적절하지 않음. 

    따라서 Math.random()*6 을 이용하여 0~5까지의 숫자를 랜덤하게 추출한 다음 +1을 하여 1~6의 숫자를 만들어 줌. 

    하지만 Math.random()은 소수를 추출하기 때문에 정수를 추출하기 위해 Math.floor()로 전체를 감싸준다. 

     

    const rollTheDice = () => {
    
        let die1 = Math.floor(Math.random() * 6 + 1)
        let die2 = Math.floor(Math.random() * 6 + 1)
        return die1 + die2
    }
    
    console.log(rollTheDice());
    

     


     

    7. calculateWeight()

     

    7-1. if 문

    const calculateWeight= (earthWeight,planet='') => {
      if (planet==='Mercury') {
        return earthWeight * 0.378;
      } else if (planet==='Venus') {
      return earthWeight * 0.907;
      } else if (planet==='Mars') {
      return earthWeight * 0.377;
      } else if (planet==='Jupiter') {
      return earthWeight * 2.36;
      } else if (planet==='Saturn') {
      return earthWeight * 0.916;
      } else {
        return 'Invalid Planet Entry. Try: Mercury, Venus, Mars, Jupiter, or Saturn.';
      }
    
    }
    
     console.log(calculateWeight(100, 'Jupiter')) 
     // print >> 236

     

    7-2. switch 문

    const calculateWeight= (earthWeight,planet='') => {
      switch (true) {
        case planet==='Mercury':
        return earthWeight * 0.378;
        case planet==='Venus': 
        return earthWeight * 0.907;
        case planet==='Mars':
        return earthWeight * 0.377;
        case planet==='Jupiter' : 
        return earthWeight * 2.36;
        case planet==='Saturn':
        return earthWeight * 0.916;
        default: 'Invalid Planet Entry. Try: Mercury, Venus, Mars, Jupiter, or Saturn.';
      }
    
    }

     

    8. truthyOrFalsy()

    const truthyOrFalsy=(value)=> {
        if (value) {
           return true;
        } else {
          return false ;
        }
    }
    
    console.log(truthyOrFalsy('12')) 
    //print true
    
    console.log(truthyOrFalsy(0)) 
    //print false

     

    9. numImaginaryFriends()

    Math.round를 사용하여 소숫점 없애기

    const numImaginaryFriends=(actualFreinds)=>{
     return Math.round(actualFreinds * 0.33);
    }
    
    
    console.log(numImaginaryFriends(18)) 
    // print >> 6

     

    10. sillySentence()

    const sillySentence=(adjective,verb,noun) => {
      return `I am so ${adjective} because I ${verb} coding! Time to write some more awesome ${noun}!` ;
    }
    
    console.log(sillySentence('excited', 'love', 'functions')) 
    // print >> I am so excited because I love coding! Time to write some more awesome functions!

     

    11. howOld()

     

     

    현재날짜 불러오기 (currentDate)

      let currentDate = new Date();

     현재 날짜의 년도 불러오기 (currentDate.getFullYear)

      let currentDate = new Date();
      let theCurrentYear = currentDate.getFullYear();

    현재 날짜의 시간 불러오기 (currentDate.getHours)

      let currentDate = new Date();
      let theCurrentHour = currentDate.getHours();

     

    와 같은 방법으로 분,초를 불러올 수 있다. 


    절대값 구하기 (Math.abs)

     

    abs 는 입력받은 숫자의 부호를 제거하고 그 결과를 리턴해주는 함수 = 절대값

     Math.abs([대상 숫자]);

     

    var test = -123;
    test = Math.abs(test);
    
    //print >> 123

     

     

    완성코드

    const howOld=(age,year)=>{
      let currentDate = new Date();
      let theCurrentYear = currentDate.getFullYear();
    
      const yearDiffefence = year-theCurrentYear;
      const newAge = age + yearDiffefence;
    
      if (newAge > age) {
        return `You will be ${newAge} in the year ${year}`;
      } else if (newAge< 0) { 
        return `The year ${year} was ${Math.abs(newAge)} years before you were born`;
      } else if (newAge< age) {
        return `You were ${newAge} in the year ${year}`;
      }
    };
    
    console.log(howOld(26,1990));
    //print >> The year 1990 was 4 years before you were born
Designed by Tistory.