일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- for of
- javascript 기초
- immutable
- 스프린트 리뷰
- Jest
- 2번째 페어
- package.json
- testbuilder
- nvm 설치
- Bracket Notation
- indexof
- includes
- global scope
- 코플릿
- JavaScript Runtime
- node 설치
- local scope
- npm 설치
- for in
- 코딩게임
- 코드스테이츠 1일차
- supertest
- foreach
- 슈도코드
- version control system
- Splice
- TIL
- dot notation
- HTML 태그 모음
- 호이스팅
- Today
- Total
Honey-Programming
코플릿 복습1 본문
변수) 1-1. 변수 선언하기(Declaration)
- 변수(Variable) : 변할 수 있는 값
- 변수의 선언 : 어떤 값(value)를 넣을 수 있는 자리를 컴퓨터 메모리에 미리 잡아두었다는 의미
// let` 키워드를 사용하여 `course`라는 변수를 선언하시오
let course;
변수) 1-2. 변수에 값 할당하기(Assignment)
// TODO : 선언되어 있는 변수 course에 문자열 "codestates"를 할당하세요.
let course;
course = 'codestates';
// 선언과 할당을 한 줄에 작성 할 수 있다.
let course = 'codestates';
만약 선언을 하지 않고 할당한다면, 에러가 발생
변수) 1-3. 값의 표현(Expression)
// TODO : num1에 5를 할당하고, num2에 7을 할당한 후, result에 num1과 num2의 곱을 할당하세요
let num1, num2, result;
num1 = 5, num2 = 7;
result = num1 * num2;
// TODO : num1에 5를 할당하고, num2에 7을 할당한 후, result에 num1과 num2의 곱을 할당하세요
let num1, num2, result;
num1 = 5, num2 = 7;
result = num1 * num2;
// 거속시 문제
let speed, distance, time;
speed = 5, distance = 10;
time = distance / speed;
함수) 2-1. 함수(Function)
- 함수는 입력(input)을 받아 출력(output)을 하는 하나의 작은 기능 단위
// TODO: 속력(speed), 시간(time)이 숫자로 주어졌을 때, 이동한 거리를 변수 distance에 할당하여 반환하는
// getRunCatDistance 함수를 작성하세요.
function getRunCatDistance(speed, time) {
//let distance = speed * time; (선언과 동시에 할당)
let distance;
distance = speed * time;
return distance;
}
함수) 2-2. 함수의 선언(DeclareFunction) 2가지 방식
// 방식1) 함수(plusOne) 선언식
function plusOne(input1) {
input1 += 1;
return input1;
}
// 방식2) 함수 표현식을 변수(minusOne)에 할당
let minusOne function(input2) {
input2 -= 1;
return input2;
}
// TODO : 첫 번째 인자에 2를 곱하는 함수 multiplyBy2와 비슷하게
// 첫 번째 인자를 2로 나누는 함수 divideBy2를 선언하세요.
function multiplyBy2(input) {
input *= 2;
return input;
}
let divideBy2 = function() {
input /=2;
return input;
}
함수) 2-3. 함수의 실행(CallFunction)
- 변수에 함수가 담겨있으면, () 괄호를 붙여서 함수를 실행 할 수 있다.
함수의 입력값을 설정 할 수 있는데, 전달인자(argument) or 인자라고 부른다.
함수의 반환(return)
함수가 실행되고 나면, 결과값을 반환(return)한다.
아무것도 return 하지 않으면 undefined를 반환
// 문자열을 인자로 받아서 느낌표를 붙여서 리턴해주는 함수 returnWordWithJoy가 있습니다.
// 함수 returnWordWithJoy의 첫 번째 인자로 문자열 "I love coding"을 넣어서 실행하고,
// 그 결과값을 변수 word에 할당하세요.
let word = returnWordWithJoy('I love coding');
function returnWordWithJoy(word) {
if(typeof word!== 'string') {
return 'wrong type';
} else {
return word + '!';
}
}
// 1. 첫 번째 파라미터(인자)는 문자열이 들어가야 한다.
// 2. 문자열 'I love coding'을 첫 번째 인자로 넣어서 'I love coding!'로 반환
기억해야 할 6가지 falsy 값
if (false)
if (null)
if (undefined)
if (0)
if (NAN)
if (' ')
조건문) 3-1. _isOldEnoughToDrink
// 어떤 숫자, 연령이 하나 주어졌을 때, 함수는 주어진 연령의 사람이
// 미국에서 합법적으로 술을 마실 수 있는지의 여부를 반환
// 미국에서 술은 21세 이상 부터 마실 수 있다.
function isOldEnoughToDrink(age) {
if(age >= 21) {
return true;
}
else {
return false;
}
}
// 1. Boolean 타입으로 리턴
// 2. 나이가 21세 이상인지 아닌지 여부를 판단
// 3. 나이가 21세 이상인 경우 true
조건문) 3-2 _checkAge
- 이름과 나이를 입력받아 문자열을 메세지로 출력(리턴)하는 checkAge 함수를 작성
나이에 따라서, 다른 메세지를 출력할 수 있어야 한다.
// Ex) 이름 : Adrian, 21살이거나 더 나이가 많으면, Welcome, Adrian! 을 리턴
// 이름 : John, 21살보다 적으면, Go home, John!
function checkAge(name, age) {
if(age >=21) {
return 'Welcome' + ', ' + name +'!'; // 'Welcom, ' + name + '!';
}
else {
return 'Go home' + ', ' + name + '!'; // 'Go home, ' + name + '!';
}
}
// 1. 나이가 21세이면, Welcome 메시지를 리턴
// 2. 나이가 21세 넘어가도, Welcome 메시지를 리턴
// 2. 결과는 항상 문자열로 리턴
// 3. 나이가 21세 미만이면, Go home 메시지를 리턴
조건문) 3-3_equalsTen
- 숫자가 주어졌을때, "equalsTen" 함수는 숫자가 10과 같은지 반환
function equalsTen(num) {
return num === 10;
// if(num === 10) {
// return true;
// }
// else {
// return false;
// }
}
// Boolean 타입으로 리턴
// 숫자가 10일 경우 true 리턴
// 숫자가 10보다 클 경우, false 리턴
// 숫자가 10보다 작을 경우, false 리턴
조건문) 3-4_isGreaterThan
- 두 숫자가 주어졌을때, 두번째 숫자(num2)가 첫번째 숫자(num1)보다 큰지 반환해야 한다.
function isGreaterThan(num1, num2) {
if(num2 > num1) {
return true;
}
else {
return false;
}
}
// num1과 num2가 같으면 false 리턴
// Boolean 타입을 리턴
// num2가 num1보다 클 때, true 리턴
조건문) 3-5_isEven
- 숫자가 주어졌을때, 숫자가 짝수인지 반환
function isEven(num) {
if(num %2 === 0) {
return true;
}
else {
return false;
}
}
// boolean 타입을 리턴
// 짝수일 경우 true를 리턴
// 숫자가 0일 경우 true를 리턴
조건문) 3-6_isEvenAndGreaterThanTen
- 숫자가 주어졌을때, 숫자가 10보다 크고, 짝수인지 반환
function isEvenAndGreaterThanTen(num) {
if(num %2 === 0 && num > 10) {
return true;
}
else {
return false;
}
}
// boolean 타입을 리턴
// num > 10 => true 리턴
// num = 10 => false 리턴
// num < 10 => false 리턴
// num => 홀수 => false 리턴
조건문) 3-7_convertScoreToGrade
- 점수가 주어졌을때, 주어진 점수와 대응하는 등급을 문자열로 반환
- (100 - 90) --> 'A'
- (89 - 80) --> 'B'
- (79 - 70) --> 'C'
- (69 - 60) --> 'D'
- (59 - 0) --> 'F'
- 점수가 100을 초과 or 0 미만이면 문자열 INVALID SCORE 반환
function convertScoreToGrade(score){
if(score <0 || score >100) {
return 'INVALID SCORE';
}
else if(score >=90 && score <=100) { // else if(90 <= score && score <=100) {
return 'A';
}
else if(score >=80 && score <=89) { // else if(80<= score && score <=89) {
return 'B';
}
else if(score >=70 && score <=79) { // else if(70 <= score && score <=79) {
return 'C';
}
else if(score >=60 && score <=69) { // else if(60 <= score && score <=69) {
return 'D';
}
else {
return 'F';
}
}
// 0보다 작은 점수 => "INVALID SCORE" 문자열 리턴
// 100보다 큰 점수 => "INVALID SCORE" 문자열 리턴
// 문자열을 리턴
// 100점은 'A'를 리턴
// 90점대는 'A'를 리턴
// 80점대는 'B'를 리턴
// 70점대는 'C'를 리턴
// 60점대는 'D'를 리턴
// 0~60점대는 'F'를 리턴
조건문) 3-8_convertScoreToGradeWithPlusAndMinus
- 점수가 주어졌을때, 주어진 점수와 대응하는 등급을 문자열로 반환
- (100 - 90) --> 'A'
- (89 - 80) --> 'B'
- (79 - 70) --> 'C'
- (69 - 60) --> 'D'
- (59 - 0) --> 'F'
- 주어진 점수가 100 초과 or 0 미만이면 INVALID SCORE 를 반환
- 점수의 1의 자리가 0~2 사이면 등급과 함께 '-'를 반환
- 만약 점수의 1의 자리가 8~9 사이라면 등급과 함께 '+'를 반환
- F+ 와 F- 는 존재하지 않습니다.
function plusOrMinus(unitDigit) {
if(unitDigit >=0 && unitDigit <=2) { return '-'; }
else if(unitDigit >=8 && unitDigit <=9) { return '+'; }
else { return ''; }
}
function convertScoreToGradeWithPlusAndMinus(score) {
let unitDigit = score %10;
let grade;
if(score >100 || score < 0) { return 'INVALID SCORE'; }
if(score === 100) { return 'A+'; }
if(score >=90) { grade = 'A'; }
else if(score >=80) { grade = 'B'; }
else if(score >=70) { grade = 'C'; }
else if(score >=60) { grade = 'D'; }
else if(score >=0) { return 'F'; }
return grade + plusOrMinus(unitDigit);
}
// 0보다 작은 점수는 'INVALID SCORE'라는 문자열을 리턴
// 100보다 큰 점수는 'INVALID SCORE'라는 문자열을 리턴
// 문자열을 리턴
// 0과 60점 사이는 'F'를 리턴
// 60과 62점 사이는 'D-'를 리턴
// 63과 67점 사이는 'D'를 리턴
// 68과 69점 사이는 'D+'를 리턴
// 70과 72점 사이는 'C-'를 리턴
// 73과 77점 사이는 'C'를 리턴
// 78과 79점 사이는 'C+'를 리턴
// 80과 82점 사이는 'B-'를 리턴
// 83과 87점 사이는 'B'를 리턴
// 88과 89점 사이는 'B+'를 리턴
// 90과 92점 사이는 'A-'를 리턴
// 93과 97점 사이는 'A'를 리턴
// 98과 100점 사이는 'A+'를 리턴
조건문) 3-9_or
- boolean 두개가 주어졌을때, "or" 함수는 || 연산자에 대응하는 true 나 false 를 반환
! 와 && 연산자를 사용 || 연산자를 사용 X
function or(expression1, expression2) {
if(expression1 === true && expression2 === true) {
return true;
}
if(expression1 !== true && expression2 === true) {
return true;
}
if(expression1 === true && expression2 !== true) {
return true;
}
if(expression1 !== true && expression2 !== true) {
return false;
}
}
function or(expression1, expression2) {
if(expression1 !== expression2) { return true }
else if(expression1 === true && expression2 === true) { return true }
else { return false }
}
// OR 논리 연산자를 사용하지 마세요
// Boolean 형식으로 리턴해야 합니다
// 첫번째 값이 true이면, true를 리턴해야 합니다
// 두번째 값이 true이면, true를 리턴해야 합니다
// 두 값 모두 true이면, true를 리턴해야 합니다
// 두 값 모두 false이면, false를 리턴해야 합니다
조건문) 3-10_isEitherEvenAndLessThan9
- 숫자 2개가 주어졌을때, 두 숫자 중 하나가 짝수인지, 그리고 두 숫자 모두 9보다 작은지를 확인
두 조건을 모두 만족 했을 때만 true를 반환
/* if 문을 중첩하는 방법 */
function isEitherEvenAndLessThan9(num1, num2) {
if(num1 < 9 && num2 < 9){
if(num1 % 2 === 0 || num2 % 2 === 0){
return true;
}
}
return false;
}
function isEitherEvenAndLessThan9(num1, num2) {
return (num1 < 9 && num2 < 9) && (num1 %2 ===0 || num2 %2 ===0) ? true : false;
}
'코드스테이츠 > ALGORITHM' 카테고리의 다른 글
test1 ~ test 7 (보관) (0) | 2020.08.31 |
---|---|
코플릿 복습4(형변환, 반복문) (0) | 2020.07.18 |
코플릿 복습3(Math 메서드) (0) | 2020.07.18 |
코플릿 복습2 (0) | 2020.07.12 |
문제풀기 (0) | 2020.06.16 |