행과 열은 어떻게 구분하고 수학 좌표를 JavaScript 배열 인덱스로 옮기나요?
행은 가로줄, 열은 세로줄입니다. m×n은 m행 n열을 뜻하며, 수학의 첫 번째 행·열은 JavaScript 배열에서 0번 인덱스에 해당합니다.
적용 조건·범위: 4행3열 표에서 JavaScript A[2][1]은 3행2열입니다. 수학의 a₂₁은 2행1열입니다. 같은 두 숫자처럼 보여도 시작 기준이 다르므로 표기와 기준을 함께 적습니다. 4행3열 배열의 마지막 칸 인덱스는 A[3][2]입니다.
공식 문서 참고: OpenStax 공개 교재: 행·열과 행렬 크기 · 관련 개념: MDN 배열의 0 기반 인덱스
핵심 정의와 기호
행(row)은 가로 한 줄, 열(column)은 세로 한 줄입니다. m×n 표는 m행 n열이라고 읽습니다. 수학의 aᵢⱼ는 보통 1부터 세어 i행 j열이고, JavaScript matrix[i][j]는 보통 0부터 세는 행·열 인덱스입니다.
가장 작은 예제
다음은 3행 2열 표입니다.
| 행 번호 | 1열 | 2열 |
|---|---|---|
| 1행 | a | b |
| 2행 | c | d |
| 3행 | e | f |
d는 두 번째 행·두 번째 열이며 matrix[1][1]에 대응합니다. ‘2열 종대’를 평면 표로 생각하면 세로 줄이 두 개이고, 6명이 서면 가로줄은 3개인 배치로 떠올릴 수 있습니다.
헷갈리는 반례
‘열이 2개’는 개수이고 ‘두 번째 열’은 위치입니다. 3×2와 2×3은 칸 수가 6으로 같아도 모양과 좌표 범위가 다릅니다. 수학의 1 기반 번호를 배열 인덱스에 그대로 넣으면 한 칸씩 밀립니다.
손으로 풀어보기
4행3열 표에서 JavaScript A[2][1]은 3행2열입니다. 수학의 a₂₁은 2행1열입니다. 같은 두 숫자처럼 보여도 시작 기준이 다르므로 표기와 기준을 함께 적습니다. 4행3열 배열의 마지막 칸 인덱스는 A[3][2]입니다.
선택: JavaScript로 검산하기
손풀이 뒤 선택해서 실행하는 짧은 전체 코드입니다. 브라우저 Console 또는 Node.js가 준비된 환경의 check.mjs에서 실행할 수 있으며 수학 학습에 설치는 필수가 아닙니다.
const matrix = [
['a', 'b'],
['c', 'd'],
['e', 'f'],
];
console.log(matrix[1][1]); // d
기대 결과: d가 출력됩니다.
주어진 직사각형 배열의 위치를 확인하는 코드입니다. 행마다 길이가 다른 배열도 JavaScript로 만들 수 있지만 그런 배열을 그대로 같은 크기의 행렬로 보지는 않습니다.
자주 발생하는 오해와 교정
첫 번째 배열 인덱스는 행, 두 번째는 열로 약속합니다. 단순히 숫자 [2][1]만 보고 2행1열이라고 읽지 말고 0 기반인지 확인합니다. 2열이라는 개수와 두 번째 열이라는 위치도 다릅니다.
직접 풀어볼 문제와 해설
쉬운 개념
m행 n열은 가로줄이 m개, 세로줄이 n개입니다. 수학의 aᵢⱼ는 i번째 행 j번째 열이지만 JavaScript 배열 M[i][j]는 0부터 셉니다.
단계별 예제
- M=[[a,b],[c,d],[e,f]]는 3행 2열입니다.
- 수학에서 a₃₁은 3행 1열의 e입니다.
- JavaScript에서는 같은 칸이 M[2][0]입니다.
직접 풀 문제
4행 3열 표의 마지막 칸은 수학 표기와 JavaScript 인덱스로 각각 무엇이며 전체 칸은 몇 개인가요?
정답·해설 보기
- 수학에서는 4행 3열 원소 a₄₃입니다.
- 0부터 시작하는 JavaScript에서는 M[3][2]입니다.
- 전체 칸은 4×3=12개입니다.
다음 학습
9회차에서 행렬의 크기와 곱셈·행 연산으로 확장합니다. 다음 글 읽기
학습 완료 체크리스트
- 정의의 적용 범위와 기호를 말로 설명할 수 있습니다.
- 위 손풀이를 답을 가린 상태에서 다시 계산합니다.
- 반례가 어떤 조건을 어기는지 설명합니다.
알고리즘 수학 노트
누적 이전 체크포인트: discrete-step-07-counting. 아래는 이번 회차의 완성 예시입니다. 자신의 다른 예제 하나를 덧붙여도 좋습니다.
노트의 행·열 항목에는 위 3×2 표와 d의 수학 좌표 (2,2), 배열 인덱스 [1][1]을 함께 적습니다. 다음 행렬에서는 이 표에 수를 넣고 크기 조건을 이용합니다. 반복문의 바깥 인덱스가 행인지 열인지 먼저 정하는 습관으로 연결합니다.
완료 체크포인트
discrete-step-08-row-column
다음 학습
행·열 구분과 행렬 기본 개념: 곱셈·가우스 소거법에서 다음 개념을 이어갑니다.
글 소개·학습 준비·전체 목차

이산수학 · 8 / 13
행과 열 쉽게 구분하기: 2열 종대까지 한 번에 외우는 방법
행은 가로줄, 열은 세로줄입니다. m×n은 m행 n열이며, 2열 종대의 2는 세로줄 수입니다. 수학의 행·열 번호와 JavaScript 배열의 0부터 시작하는 인덱스를 아래 예제로 연결합니다.
이번 글에서 배우는 내용
- 3×2를 3행2열로 읽습니다.
- 칸 개수와 행·열 개수를 구분합니다.
- 수학 번호와 배열 인덱스를 변환합니다.
선수 지식
표의 칸을 세고 순서대로 읽을 수 있으면 됩니다. 앞의 순열·조합 공식은 이 글의 필수 지식이 아닙니다.
목차
이 글이 도움이 되었나요?
읽음 기록
읽음 — / 전체 13개 · 필수 13개
새 글 받아보기
RSS 리더에서 BlogFlow의 새 글을 확인할 수 있습니다.