06. isOddAndGreaterThanTwenty
isOddAndGreaterThanTwenty 함수를 작성하세요.
// 정답코드
let output = isOddAndGreaterThanTwenty(13);
let output2 = isOddAndGreaterThanTwenty(27);
console.log(output); // --> false
console.log(output2); // --> true
힌트)
🤔❓ 왜 true로 출력되는데 test 4에서 막히지?
💡❗️ if (num % 2 == 1 && num > 20) { (아래 코드 참조)
홀수이면 num % 2 == 1이라고 해야되는데 나는 num % 2 == 0이라고 했다.. 알고리즘 배울 때, 짝수 홀수를 몇 번을 했는데..
function isOddAndGreaterThanTwenty(num) {
if (num % 2 == 1 && num > 20) { // *** 이 부분
return true;
} else {
return false;
}
}
let output = isOddAndGreaterThanTwenty(33);
console.log(output);
module.exports = { isOddAndGreaterThanTwenty }
🌟 중요 🌟
짝수는 2로 나누면 0으로 딱 떨어지기 때문에
num % 2 == 0이다
홀수는 2로 나눌 때 무조건 1이 남는다. 그러므로,
num % 2 == 1이다
07. whichGrade
whichGrade 함수를 작성하세요.
// 몸무게가 45 보다 크고 60보다 작은 경우
45 < weight && weight < 60
🤔❓ tests는 모두 패스했는데 부등호의 위치를 바꿔도, 이것저것 만져도 왜 자꾸 console창에 'INVALID SCORE'라고 출력되지?
// 정답코드 아님 주의. 정답코드는 바로 아래 참고
function whichGrade(score) {
if (90 <= score && score <= 100) {
return 'A';
} else if (80 <= score && score <= 89) {
return 'B';
} else if (70 <= score && score <= 79) {
return 'C';
} else if (60 <= score && score <= 69) {
return 'D';
} else if (0 <= score && score <= 59) {
return 'F';
} else {
return 'INVALID SCORE';
}
}
let score = 60;
console.log(whichGrade())
module.exports = { whichGrade }
💡❗️ 위 코드처럼 console.log(whichGrade()) 이렇게 쓰면 안된다.
반드시 함수 괄호 안에 whichGrade(여기에) 값을 넣어야 한다
function whichGrade(score) { // 함수=whichGrade, 함수의 매개변수=score
if (90 <= score && score <= 100) {
return 'A';
} else if (80 <= score && score <= 89) {
return 'B';
} else if (70 <= score && score <= 79) {
return 'C';
} else if (60 <= score && score <= 69) {
return 'D';
} else if (0 <= score && score <= 59) {
return 'F';
} else {
return 'INVALID SCORE';
}
}
// 방법1 - 반드시 함수(whichGrade)와 함수의 매개변수(score)를 같이 출력
let score = 60;
console.log(whichGrade(score))
// 방법2 -
console.log(whichGrade(60))
// 이 밑에 코드는 그냥 냅두기
module.exports = { whichGrade }
08. or
or 함수를 작성하세요.
let output = or(true, false);
console.log(output); // --> true;
let output2 = or(false, false);
console.log(output2); // --> false;
주의)
🤔❓그래서 도대체 or를 뭐하라는거지? 문제가 요구하는 사항을 이해하지 못했다. 스터디 팀원들의 도움으로 궁금증 해결
function or(expression1, expression2) {
if (expression1 != true)
}
or(true, false)
module.exports = { or }
💡❗️
07. slice 2
let prisoners = [[0, 1],[1,2],[0,0]];
saveNumberTwo(prisoners) // 2
🤔❓어떻게 let answer = temp[0][1]이 숫자 2를 출력하는거지?
// 정답코드
function saveNumberTwo(prisoners) {
let temp = prisoners.slice(-2)
// slice 메서드의 괄호 안에 음수만 넣어주세요
let answer = temp[0][1]
// 변수 answer에 특정한 값을 대입해주세요.
return answer;
}
let prisoners = [[0, 1],[1,2],[0,0]];
console.log(saveNumberTwo(prisoners))
module.exports = { saveNumberTwo };
💡❗️slice 개념을 잘못 알고 있었다.
slice(-1)은 뒤에서 첫 번째 element를 추출하고
slice(-2)는 뒤에서 두 번째 element만 추출하는 것으로 이해했으나 틀렸다.
slice(-2)를 하면 뒤에서 두 번째 요소만 추출하는 것이 아니라 뒤에서 두 번째 요소를 포함한 그 뒤 element를 모두 포함해서 추출하는 것이다.
let prisoners = [[0, 1],[1,2],[0,0]]; //일 때,
let temp = prisoners.slice(-2) //을 하면
// prisoners = [1,2],[0,0]; 이렇게 추출이 된다
// 여기서 '2'를 뽑아내려면
let asnwer = temp[0][1]
09. filter 1
fruits 라는 배열이 있습니다. 'ap'가 들어간 과일들로 이루어진 새로운 배열을 filter()를 이용하여 반환해주세요.
결과는 아래와 같아야 합니다.
[ 'apple', 'grapes' ]
힌트: includes()를 사용해보세요
// by default
let fruits = ['apple', 'banana', 'grapes', 'mango', 'orange'];
//아래의 함수를 완성해주세요.
function filtered () {
}
let fruits = ['apple', 'banana', 'grapes', 'mango', 'orange'];
//아래의 함수를 완성해주세요.
function filtered (fruits) {
let result = fruits.filter();
return fruits.includes('ap');
}
console.log(result);
module.exports = { filtered };
11. concat
num 배열안의 요소들을 concat()을 이용해서 하나의 배열로 합쳐지게 해주세요.
아래와 같은 결과가 나와야 합니다.
(힌트: array에서 index로 접근)
[ 11, 12, 13, 14, 15, 16, 17, 18, 19 ]
// 정답코드
let num = [[11, 12, 13], [14, 15, 16], [17, 18, 19]];
//아래의 함수를 완성해주세요.
function makeNewArr () {
return num[0].concat(num[1]).concat(num[2]) //***
}
console.log(makeNewArr())
module.exports = { combineMonth, makeNewArr };
💡❗️
https://replit.com/@wecode-pre-JS/06-isOddAndGreaterThanTwenty-BohyunPark1#index.js
https://replit.com/@wecode-pre-JS/07-whichGrade-BohyunPark1#index.js
https://replit.com/@wecode-pre-JS/08-or-BohyunPark1#index.js
https://replit.com/@wecode-pre-JS/07-slice-2-BohyunPark1#index.js
https://replit.com/@wecode-pre-JS/09-filter-1-BohyunPark1#index.js:6:19