2차원 배열 탐색
목적에 따라 여러가지 방법으로 2차원 배열을 탐색할 수 있다. # 2차원 배열 arrs = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # 1. 행 & 열 우선 탐색 # 행우선 for i in range(len(arrs)): for j in range(len(arrs[0])): print(arrs[i][j], end=' ') print() # 열우선 for j in range(len(arrs[0])): for i in range(len(arrs)): print(arrs[i][j], end=' ') print() # 2. 지그재그 순회 # 지그재그 순회 for i in range(len(arrs)): for j in range(len(arrs[0])): print(arrs[i][j + (i..
2021. 8. 22.
정렬 알고리즘
정렬을 구현하는 알고리즘은 여러가지가 있다. 이번 글에서는 그 중 3가지의 방법을 정리하고자 한다. 다음과 같은 배열이 있다고 가정하자. arr = [4, 2, 9, 3, 10, 5, 2, 7, 8, 6, 10] # 1 - Bubble sort - 리스트 내의 원소들을 하나하나 비교해가며, 큰 값을 오른쪽으로 이동시키는 방식이다. # Bubble sort for i in range(len(arr)-1, 0, -1): for j in range(i): if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] print(arr) # 2 - Counting sort - 리스트의 각 원소들이 몇 번 등장하는지 count하여 정렬을 하는 방식이다. - 시간복잡도가 줄..
2021. 8. 21.