| 일수 | 일자 | 교과목 | 내용 | 편성시간 |
|---|---|---|---|---|
| 18 | 24/12/16 | 프론트엔드 | Javascript | 8 |
var x = 10;
var x = 20;
x = 30;
let y = 10;
y = 20;
const z = 30;
z = 40; // 오류 발생
| var | let | const | |
|---|---|---|---|
| 함수 스코프(Function Scope) | 블록 스코프(Block Scope) | 블록 스코프(Block Scope) | |
| 중복 선언 | O | X | X |
| 선언 후 값 변경 | O | O | X |
기본 타입
: 숫자(Number), 문자열(String), 불리언(Boolean), null, undefined, Symbol
참조 타입
: 객체(Object), 배열(Array), 함수(Function)
//객체(Object)
let person={
name: "John",
age: 30
};
console.log(typeof person); //"object"
// 함수 (Function)
function greet() {
console.log("Hello!");
}
console.log(typeof greet); // "function"
산술 연산자 : +, -, *, /, %
비교 연산자 : ==, ===, !=, !==, <, >, <=, >=
*==는 값이 같은지 비교, ===는 값과 타입 둘 다 비교
논리 연산자 : &&, ||, !
할당 연산자 : =, +=, -=, *=, /=, %=
조건문 : if, else if, else
반복문 : for, while, do...while


당첨 번호에서 조만 다르면 2등이므로 모든 조를 다 사는 게 이득이라서 조 계산은 안 하고 뽑아야할 숫자만 계산


// 0 ~9 사이의 랜덤한 3자리의 숫자를 생성
let num = [];
for(let i = 0; i<3; i++){
num[i] = Math.floor(Math.random()*10);
for(let j = 0; j<i; j++){
if(num[i] == num[j]){
i--;
}
}
}
console.log(num);
let count = 0;
while(1){
count++;
let strike = 0, ball = 0, out = 0;
// 입력
let input;
input = prompt();
let mapfn = (arg) => Number(arg);
let inNum = Array.from(input, mapfn);
for(let i = 0; i<3; i++){
for(let j = 0; j<3; j++){
if(inNum[i] == num[j] && i == j){
// 숫자의 위치와 숫자가 일치하면 : 스트라이크
strike++;
}else if(inNum[i] == num[j]){
// 숫자의 위치는 다르지만 숫자가 일치하면 : 볼
ball++;
}
}
}
// 숫자가 해당되지 않으면 : 아웃
out = 3-strike-ball;
console.log(num);
console.log("S : "+strike + ", B : "+ ball + ", O : "+out +", 입력 횟수 : " + count);
if(strike==3){// 정확한 숫자를 맞추면 종료
break;
}
}
