2차원 요소에 접근하기
Coddy Ruby 여정의 로직 및 흐름 섹션에 포함된 레슨. 56개 중 11번째.
2D 배열에서 하나의 cell을 읽거나 업데이트하려면 두 개의 인덱스 조회를 연결합니다. 첫 번째는 row를 선택하고, 두 번째는 column을 선택합니다.
matrix = [
[10, 20, 30],
[40, 50, 60],
[70, 80, 90]
]
puts matrix[0][0] # 10 (왼쪽 위)
puts matrix[1][2] # 60 (행 1, 열 2)
puts matrix[2][0] # 70 (왼쪽 아래)cell을 업데이트할 때는 왼쪽에 동일한 구문을 사용합니다:
matrix[0][1] = 99
puts matrix[0].inspect # [10, 99, 30]두 가지 유용한 shape 쿼리:
puts matrix.length # 3 (행의 수)
puts matrix[0].length # 3 (행 0의 열)인덱스는 0에서 시작하여 length - 1까지 갑니다. 끝을 넘어가면 오류가 발생하는 대신 nil을 반환합니다.
챌린지
초급2차원 배열 matrix가 주어집니다. 세 개의 정수(세 줄)를 읽습니다: r1, c1, 그다음 v입니다. 그런 다음:
matrix[r1][c1]의 값을 출력합니다.matrix[r1][c1] = v로 설정합니다.inspect를 사용하여 업데이트된 전체matrix를 출력합니다.
입력이 1 / 2 / 99인 경우 출력은 다음과 같습니다.
60
[[10, 20, 30], [40, 50, 99], [70, 80, 90]]직접 해보기
matrix = [
[10, 20, 30],
[40, 50, 60],
[70, 80, 90]
]
r1 = gets.to_i
c1 = gets.to_i
v = gets.to_i
# TODO: matrix[r1][c1]을 출력하고, v를 할당한 다음, 전체 matrix를 출력하세요
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
로직 및 흐름의 모든 레슨
직접 연습해 보세요: 온라인 Ruby 컴파일러