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차원 배열의 각 요소에 접근할 수 있습니다.
챌린지
쉬움문자열의 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'이 행렬에 몇 번 나타나는지 세는 로직을 구현하세요
}
// 함수 외부에는 아무것도 작성하지 마세요이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.