js - 반복문

이성민·2023년 4월 20일
0

반복문

반복문을 사용하면 불필요한 코드를 반복적으로 사용하지 않고 간결하게 코드를 작성할 수 있다.

for문

for (초기값; 조건식; 증감식) {
	// 실행할 코드
}

와 같은 형식으로 구성돼있다.

  • 초기값 : 증감식 반복 횟수를 카운트하는 역할을 하는 변수 ( 반복문의 코드블록 내부에서만 유효 )
    let i = 0 ( 초기값 (i)를 선언하고 1을 할당함 )
  • 조건식: 코드블록 내부의 코드를 실행 여부를 결정. true일 경우에는 코드를 실행하며, false일 경우 반복문이 종료
    i <= num ( i가 num보다 작거나 같을 경우 코드 실행, num보다 클 경우 반복문 종료 )
  • 증감식: 코드블록 내부의 코드를 실행한 후 초기값으로 선언된 변수를 증가 또는 감소시키기 위한 표현식
    i++ ( 코드가 실행될 때마다 i가 1씩 증가 )

반복문의 중첩 !!!!!! ( 나쁜놈 )

  • 외부 반복문의 초기화와 조건식 평가가 이루어진 후, 내부 반복문 실행.
  • 내부 반복문 또한 초기화와 조건식 평가가 이루어진 후 내부에 있는 코드가 실행되고, 증감식, 조건식 평가가 반복적으로 이루어짐.
  • 내부 반복문의 조건식 평가가 false가 되면, 내부 반복문 은 종료가 되고 외부 반복문의 증감식과 조건식 평가가 이루어짐, 조건식 평가가 true면, 다시 내부 반복문을 순환하는 방식으로 진행. 외부 반복문의 조건식이 false가 되면 모든 반복문이 종료.
for (let first = 0; first <= 3; first++) {
  for (let second = 0; second <= 3; second++) {
    for (let third = 0; third <= 3; third++) {
      console.log(
        `first는 ${first}, second는 ${second}, third는 ${third}입니다.`
      );
    }
  }
}

반복문은 두 개 이상 중첩 가능. 2개의 반복문이 중첩된 경우 이중반복문, 3개의 반복문이 중첩된 경우 삼중반복문이라고 부름.

While문

초기화, 조건식, 증감식이 모두 필요한 for문과 달리 while문은 조건식만 입력한 후 조건식의 평가결과가 true인 경우 코드블록 내부의 코드를 반복하여 실행

let num = 0;
while (num < 3) {
	console.log(num); // 0 1 2
	num++
}

do…while문

do…while문은 while 뒤에 오는 조건식이 true로 평가되는 동안 do 뒤에 오는 코드블록 내부의 코드를 반복하여 실행. 단, 이 경우 do의 코드블록 내부의 코드가 최소 한 번은 실행

do {
	console.log('코드블록 내부의 코드는 최소 한 번은 실행됩니다.') 
	// '코드블록 내부의 코드는 최소 한 번은 실행됩니다.'
} while (false)

for문과 while문

for문과 while문의 용도는 명확하게 구분되지 않지만 주로 사용되는 경우가 있다.
for문을 사용하는 경우

  • 반복 횟수가 비교적 명확할 때
  • 배열, 문자열 내부를 순회할 때
  • 반복문의 중첩이 필요할 때

while문을 사용하는 경우

  • 반복 횟수가 명확하지 않을 때

반복문은...이중반복문, 삼중반복문처럼 중첩이 되는경우 난이도가 확 오르는거 같다.
외부반복문에 무슨 조건을 달고....내부에 무슨 조건을 달아야 할지 감이 잘 오지않는다.

그리고 문제를 풀면서 느끼는점은 일단 중첩반복문 공식을 적어두고 대충 if몇개 쓰면 전부 풀리긴한다.
하지만 이게 왜 이렇게 되는건지 이렇게 하면 왜 안되는건지 잘 모르겠다. 뭔가 풀렸는데..왜 된거지싶다.

디버거 모드로 이것저것 이해해보려고 노력해야겠다. 화이팅

profile
도전자

0개의 댓글

관련 채용 정보