Menu
Coddy logo textTech

2차원 배열과 중첩 루프

Coddy JavaScript 여정의 논리 & 흐름 섹션에 포함된 레슨 — 65개 중 8번째.

2차원 배열을 다룰 때, 우리는 종종 각 행과 각 열을 반복하기 위해 중첩 루프(nested loops)를 사용하며, 이를 통해 배열의 모든 요소에 접근하거나 수정할 수 있습니다.

다음은 2차원 배열을 위한 중첩 루프의 일반적인 구조입니다:

const seats = [
  [true, true, false],
  [true, false, true]
];

for (let r = 0; r < seats.length; r++) {
  // 외부 루프는 행을 반복합니다
  for (let c = 0; c < seats[r].length; c++) {
    // 내부 루프는 열을 반복합니다
    // 여기에서 seats[r][c]에 접근할 수 있습니다
  }
}

외부 루프는 행을 반복하며, 내부 루프는 각 행의 열을 반복합니다. 이런 방식으로 array[r][c]를 사용하여 2차원 배열의 각 요소에 접근할 수 있습니다.

challenge icon

챌린지

쉬움

문자열의 2차원 배열인 matrix와 문자열 target을 인자로 받는 countOccurrences라는 이름의 함수를 생성하세요. 이 함수는 모든 행과 열에서 target이 나타나는 횟수를 반환해야 합니다.

치트 시트

중첩된 루프를 사용하여 2D 배열을 반복합니다. 바깥쪽 루프는 행(rows)을 위해, 안쪽 루프는 열(columns)을 위해 사용합니다:

const seats = [
  [true, true, false],
  [true, false, true]
];

for (let r = 0; r < seats.length; r++) {
  // 바깥쪽 루프는 행을 반복합니다
  for (let c = 0; c < seats[r].length; c++) {
    // 안쪽 루프는 열을 반복합니다
    // seats[r][c]를 사용하여 요소에 접근합니다
  }
}

직접 해보기

function countOccurrences(matrix, target) {
  // TODO: 'target'이 행렬에 몇 번 나타나는지 세는 로직을 구현하세요
}
// 함수 외부에는 아무것도 작성하지 마세요
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리 & 흐름의 모든 레슨