리스트 안에 리스트를 담아요
리스트·반복·함수를 배웠어요. 각 행의 리스트를 큰 리스트에 넣으면 격자를 표현할 수 있어요.
board = [[2, 5], [7, 1]]
print(board[0][1])
board[0]은 첫 행 [2, 5]예요. 그 안의 1번 칸은 5라 출력은 5예요. board[row][column]은 행을 먼저, 열을 나중에 선택해요. 그림에서 행 0·1과 열 0·1의 교차점을 확인해요.
행과 열의 반복을 나눠요
같은 board의 각 값을 읽으려면 행 반복 안에 열 반복을 둬요.
for row in range(2):
for column in range(2):
print(board[row][column])
출력 순서는 2·5·7·1이에요. 새로운 행을 입력할 때는 매번 line = []로 새 리스트를 만들고 값을 append해요. 완성된 행을 board에 append해요. 같은 행 리스트를 재사용하면 한 행을 바꿀 때 다른 행도 같은 객체를 읽게 될 수 있어요. 이번 과제는 한 행의 합계를 구해요.
직접 풀어봐요
격자 board에서 지정한 행 target의 값 합계를 출력해요. 행 번호는 0부터 시작해요.
첫 줄 행 수 rows(110), 둘째 줄 열 수 columns(110), 이 후 rows×columns 줄에 행 순서로 정수 값(−100100), 마지막 줄 target(0rows −1)이에요. 출력은 지정 행의 합계예요.
예시 1: board =[[2, 5],[7, 1]], target = 1 → 8이에요.
예시 2: board =[[4, 6, 1]], target = 0 → 11예요.
예시 입력
2 2 2 5 7 1 1
예상 결과
8
예시 입력
1 3 4 6 1 0
예상 결과
11
핵심 개념
array-2d: 2D 리스트는 행 리스트의 모음이에요. 행과 열의 인덱스·입력 순서를 구분해요.