← 학습 코스

행과 열로 칸 찾기

Python전체 작성형

리스트 안에 리스트를 담아요

리스트·반복·함수를 배웠어요. 각 행의 리스트를 큰 리스트에 넣으면 격자를 표현할 수 있어요.

board = [[2, 5], [7, 1]]
print(board[0][1])

board[0]은 첫 행 [2, 5]예요. 그 안의 1번 칸은 5라 출력은 5예요. board[row][column]은 행을 먼저, 열을 나중에 선택해요. 그림에서 행 0·1과 열 0·1의 교차점을 확인해요.

board =[[2,5],[7,1]]에서 board[0][1]은 첫 행의 둘째 칸 5를 가리키는 관계

행과 열의 반복을 나눠요

같은 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 리스트는 행 리스트의 모음이에요. 행과 열의 인덱스·입력 순서를 구분해요.

코드 작성과 채점은 로그인 후 이용해요

로그인하고 풀기