-
[CODECADEMY] 코드카데미 CODE CHALLENGES: JAVASCRIPT FUNDAMENTALSJava 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
'Java Script' 카테고리의 다른 글