비슷한 코드를 반복적으로 실행할 경우에 사용
while문
비교적 반복 횟수가 명확하지않을 경우
초기화; while(조건식){ 반복될 실행코드 -> 증감문을 포함 }
for문
비교적 반복의 조건이 명확할 경우
for(초기화; 조건식; 증감문){ 반복될 실행 코드 }
이중반복문
반복문 속에 반복문이 적용되는 경우
구구단 예시
// 4단 구구단
function mulTablePrinter(num){
for(let i= 2; i <= 9; i++){
console.log(num+'*'+i+'='+ num*j);
}
}
mulTablePrinter(4);
//템플릿 리터럴과 이중 반복문으로 전체 구구단 표현
function mulTablePrinter(num){
for(let i = 2; i <= 9; i++){
for (let j = 1; j <= 9; j++){
console.log(`${i} * ${j} = ${i*j}`);
}
}
}
mulTablePrinter();
입력받은 숫자의 제곱근을 반환
-> 루트 √ 씌운 값을 의미
-> 소수 구하는 함수 정의할 때, 반복문 범위 줄여서 불필요한 연산 줄일 수 있음
Math.sqrt(num);
// num이 음수라면 NaN 반환
Math.sqrt(49); // 7
Math.sqrt(2); // 1.414213562373095
Math.sqrt(1); // 1
Math.sqrt(0); // 0
Math.sqrt(-1); // NaN
Chapter1. 조건문
truthy
와 falsy
가 조건문에서 작동하는 방식을 이해할 수 있다.===
, !==
)에 대해 이해할 수 있다.if
와 else if
, else
를 이해하고 무리 없이 활용할 수 있다.&&
, ||
, !
...) 통해 복잡한 조건을 간결하게 작성할 수 있다.Chapter2. 문자열
length
속성을 활용해 문자열의 길이를 확인할 수 있다.slice()
메서드를 활용해 문자열을 원하는 만큼 ‘복사’할 수 있다.str.indexOf('a')
또는 str.lastIndexOf('a')
,str[1]
includes()
메서드를 활용해 문자열 중 원하는 문자가 포함되어 있는지 알 수 있다. str.includes('a')
split()
, join()
메서드를 활용해 문자열을 배열로 바꾸거나, 배열을 문자열로 바꿀 수 있다.Chapter3. 반복문
for (let i = 0; i < 5; i++)
)을 응용하여 다양한 for문을 만들 수 있다.이해도 자가 점검 리스트의 결과를 토대로 자기주도적 학습 계획을 수립하고 실천해 보세요.
느낀점
아직 시작한지 1주일도 안되었는데 평균 4시간 수면...오늘은 30분...내일의 맑은 정신을 위해, 수면시간을 잃지는 말자.
오늘의 반복문 연습문제는 충격적이었다. 알고리즘을 문제를 풀어본적이 없지만 처음 경험하는 알고리즘 문제 같았다. 1-2줄 밖에 안되는 문제에(주의사항들은 따로 분류되어있음) 조건들을 어떻게 대입해야할지 막막하고 레고를 어디에다가 붙여야 되는지 혼란스러웠다.
그런데, 오후에 튜터님이 직접 문제 몇개를 푸는 모습을 보여주셨는데 수도코드가 이래서 중요하다는 건지 알게되었다. 내가 알고있는 문제를 타인에게 이해시키기 위한 용도라고 잘못 알았는데, 수도코드를 작성하면 더 구체적인 흐름이 보였다. 남이 아닌 나도 이해시키고 가이드로서 역할을 할 수 있구나 싶었다.
아직, 나에게는 문제를 이해하기 위한 용도지만 느려도 계속 하다보면 아주 조금이라도 빨라질거라 믿고 계속 흐름을 적어봐야겠다.
개선점 및 리마인드