::Assignment::
- index.js에 작성 되어 있는 mathExpression 함수의 결과 값이 22가 나오도록 수정해 주세요.
//문제 function mathExpression() { // 다음 코드의 값이 22가 되도록 수정해주세요. let result = 5 + 6 * 10 / 2 * 2.5 ; // 다음 코드는 수정하지 마세요! return result; }
function mathExpression() {
let result = (10 * 2) + 2;
return result;
}
답은 맞지만 처음에 문제 이해를 잘못해서 원래의 코드에서 수정하는 게 아니라 아예 내 마음대로 수학식을 바꾸어 버렸다는 것을 알게 되었다.
그래서 다시 처음 코드로 돌아가 다른 방식으로 접근하였다.
function mathExpression() {
let result = (5 + 6) * 10 / (2 * 2.5) ;
return result;
}
() 안의 숫자를 먼저 계산하기 때문에 result = 11 * 10 / 5가 되고 결과적으로 result = 22가 된다.
::Assignment::
- index.js 에 textConcatenation 함수를 수정하여서 다음 문장이 리턴 될 수 있도록 해주세요.
"2 더하기 2는 4"
- hint : 뒤의 2 + 2 수학식이 먼저 계산되도록 묶어주세요.
function textConcatenation() {
// 원래 코드 : "2 더하기 2는" + 2 + 2;
// 이대로 실행한다면 "2 더하기 2는 22" 라는 결과가 나온다.
// 2 + 2를 더한 결과값 4가 나오기 위해서는 괄호로 묶어준다.
let text = "2 더하기 2는 " + (2 + 2);
return text;
}
::Assignment::
- myFavoriteColor 함수는 "색깔"을 인자로 받고 3가지 결과 값을 리턴합니다.
- if문을 사용해 다음 조건에 맞게 함수를 구현 해주세요.
- color 가 "navy" 이면 "Good!" 리턴
- color 가 "yellow" 이면 "Bad!" 리턴
- 그 외의 경우 "Whatever!" 리턴
function myFavoriteColor(color) {
if (color == "navy") {
return "Good!";
} else if (color == "yellow") {
return "Bad!";
} else {
return "Whatever!";
}
}
function myFavoriteColor(color) {
let result = "" // result라는 변수 선언. 빈 문자열 할당.
if (color === "navy") { // ===. 엄격한 비교를 사용하여 값과 자료형을 비교함.
result = "Good!"; // 조건의 결과에 따라 결과값을 할당.
} else if (color === "yellow") {
result = "Bad!";
} else {
result = "Whatever!";
}
return result; //조건문에서 빠져나온 후 최종값이 들어있는 result를 반환함.
}
==
(느슨한(동등) 비교) : 서로 다른 유형의 두 변수 각각의 값만 비교함===
(엄격(일치) 비교) : 동등 비교 연산자. 값과 타입이 같은지 비교함::Assignment::
- 우리나라는 20살 부터 술을 마실 수 있습니다. 우리나라 사람들이 가장 즐겨마시는 술은 소주 입니다.
- canIDrinkSoju 함수 안에 비교 연산자를 사용하여 다음의 경우들이 구현될 수 있도록 해주세요.
- age 가 20살 보다 어리면: "애야 가서 공부나 해라!" 리턴
- age 가 50살 이상이면: "건강을 위해서 술은 적당히 마시세요!" 리턴
- 그 외의 경우에는: "소주에는 곱창 어떠신가요?" 리턴
function canIDrinkSoju(age) {
let result = '';
if (age < 20) {
result = "애야 가서 공부나 해라!"
} else if (age >= 50) {
result = "건강을 위해서 술은 적당히 마시세요!"
} else {
result = "소주에는 곱창 어떠신가요?"
}
return result;
}
::Assignment::
- rockPaperScissors 함수를 구현해서 가위 바위 보 게임을 구현해주세요.
- 가능하면 || 와 && 연산자 둘다 사용해주세요.
- player1과 player2 중 이긴 사람이 누군지 리턴해주세요.
- 예를 들어, player1이 이겼으면 "player1" 이 리턴 되고 그 반대의 경우라면 "player2"가 리턴이 되어야 합니다.
- 만일 비기는 경우에는 무조건 "player1"이 리턴 되어야 합니다.
- player1 과 player2 의 값은 다음 셋 중 하나 입니다.
- "가위"
- "바위"
- "보"
- 예를 들어, player1은 "가위" 이고 player2는 "보" 이면 "player1" 이 리턴 되어야 합니다.
어렵지는 않았는데 코드 작성할 때 조금 번거로웠던 문제였다.
function rockPaperScissors(player1, player2) {
if ((player1 === '가위' && player2 == '가위') || (player1 === '바위' && player2 == '바위') || (player1 === '보' && player2 == '보')) {
// player1과 player2가 무승부일 때
return "player1";
} else if ((player1 === '가위' && player2 == '바위') || (player1 === '바위' && player2 == '보') || (player1 === '보' && player2 == '가위')) {
// player2가 이겼을 때
return "player2";
} else {
// player1이 이겼을 때
return "player1";
}
}
function rockPaperScissors(player1, player2) {
let result;
if ( player1 === "가위" && (player2 === "보" || player2 === "가위") ) {
result = "player1"
} else if (player1 === "바위" && (player2 === "가위" || player2 === "바위")) {
result = "player1"
} else if (player1 === "보" && (player2 === "바위" || player2 === "보")) {
result = "player1"
} else {
result = "player2"
}
return result //조건문에서 나와서 할당된 result를 이제 반환!
}
player1 === '가위' && (player2 === '보' || player2 === '가위')
이런 식으로 한꺼번에 묶어서 표현할 수도 있다는 것을 알게 되었다!