- [알고리즘] 5. 2차원 배열2025년 08월 23일
- Song hyun
- 작성자
- 2025.08.23.:49
728x90반응형1. 2차원 배열
- 1차원 리스트를 묶어놓은 리스트
- 2차원 이상의 다차원 리스트는 차원에 따라 인덱스를 선언
- 2차원 리스트의 선언 : 세로, 가로를 필요로 함
- 파이썬에서는 데이터 초기화를 통해 변수 선언과 초기화가 가능함
- 입력을 2차원 배열에 저장하기
N = int(input()) arr = [list(map(int, input().split())) for _ in range(N)]N = int(input()) arr = [list(map(int, input())) for _ in range(N)]- 0으로 채워진 3x4 배열 만들기
arr = [[0] * 4 for _ in range(3)]→ arr1 = [[0] * 4 for _ in range(4)]와 arr2 = [[0] * 4] * 3는 다르다!!→ 얕은 복사 때문!
2. 배열 순회
- nxm 배열의 n*m개의 모든 원소를 빠짐없이 조사하는 방법
- 행 우선 순회
# i : 행의 좌표 # j : 열의 좌표 for i in range(n): for j in range(m): f(array[i][j]) #필요한 연산 수행- 열 우선 순회
# i : 행의 좌표 # j : 열의 좌표 for j in range(m): for i in range(n): f(array[i][j]) #필요한 연산 수행- 지그재그 순회
# i : 행의 좌표 # j : 열의 좌표 for i in range(n): for j in range(m): f(array[i][j+(m-1-2*j) * (i%2)])3. 델타
- 델타를 이용한 2차원 배열 탐색
- 2차 배열의 한 좌표에서 4방향의 인접 배열 요소를 탐색하는 방법
- 인덱스(i, j)인 칸의 상하좌우 칸(ni, nj)
728x90반응형'알고리즘' 카테고리의 다른 글
[알고리즘] 7. 이진 탐색과 선택 정렬 (0) 2025.08.31 [알고리즘] 6. 부분집합 (2) 2025.08.27 [알고리즘] 4. 탐욕 알고리즘 (0) 2025.08.21 [알고리즘] 3. 완전 검색과 순열 (1) 2025.08.18 [알고리즘] 2. 카운팅 정렬 (0) 2025.08.15 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)