2025/02/16 5

Time Complexity Calculation (시간 복잡도 계산)

1️⃣ 기본적인 시간 복잡도 계산 방법 (반복문 중심)  ✅ 시간 복잡도를 계산하는 일반적인 방법론시간 복잡도(Time Complexity)는 알고리즘이 실행되는 데 걸리는 시간을 입력 크기(n)에 대한 함수로 나타낸 것입니다.시간 복잡도를 분석하는 방법은 크게 두 가지로 나눌 수 있습니다.기본적인 반복문을 포함한 경우 (반복문 분석)재귀 함수가 포함된 경우 (재귀 분석) ① 단일 루프 → O(n) for i in range(n): print(i)  i는 0부터 n-1까지 증가 → n번 반복시간 복잡도: O(n)   ② 중첩 루프 (이중 루프) → O(n²)for i in range(n): for j in range(n): print(i, j) i가 n번 실행될 때마다 ..

Python Algorithm 2025.02.16

Selection Sort (선택 정렬)

✅ Selection Sort (선택 정렬)  선택 정렬(Selection Sort)은 가장 작은(또는 큰) 값을 선택하여 정렬하는 알고리즘입니다.배열에서 가장 작은 값을 찾아 첫 번째 값과 교환, 그다음 두 번째로 작은 값을 찾아 두 번째 값과 교환하는 방식으로 진행됩니다.이 과정을 반복하면 배열이 정렬됩니다. 항목설명알고리즘 이름Selection Sort (선택 정렬)시간 복잡도최선: O(n²), 평균: O(n²), 최악: O(n²)공간 복잡도O(1) (추가적인 메모리 사용 없음, 제자리 정렬)알고리즘 설명주어진 리스트에서 가장 작은 값을 찾아 맨 앞의 값과 교환하는 방식으로 정렬특징단순한 구조, 작은 데이터에 적합, 안정 정렬이 아님적용 예시데이터 개수가 적고, 추가 메모리를 쓰기 어려운 환경  ✅..

Matrix Control (행렬 조작법)

✅ Matrix Control (행렬 조작법) 2차원 리스트(2D List)는 행(Row)과 열(Column)으로 구성된 리스트로, 표 형태의 데이터를 저장하는 데 사용됩니다.반복문으로 쉽게 순회할 수 있으며, 리스트 컴프리헨션을 활용하면 간결하게 생성 가능합니다.전치(Transpose)를 활용하면 행과 열을 변경할 수 있으며, zip() 또는 numpy를 이용하면 더욱 효율적입니다.  ✅ 행렬 순회 방법 # 행 기준 순회matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9]]# 각 행을 출력for row in matrix: print(row)# 출력:# [1, 2, 3]# [4, 5, 6]# [7, 8, 9] #행,열 순회for row in matrix: ..

Matrix, 2D List (2차원 리스트)

✅ Matrix, 2D List (2차원 리스트) 2차원 리스트는 리스트 안에 리스트를 포함한 형태로 행(row)과 열(column) 을 가지는 자료구조입니다. 주로 행렬(Matrix) 또는 표(Table) 형태의 데이터를 저장할 때 사용됩니다. 특징설명리스트 안에 리스트 포함[ [1, 2], [3, 4] ] 형태행과 열로 요소 접근 가능matrix[row][col]중첩 반복문 활용 가능for row in matrix: for col in row:동적 크기 조정 가능행과 열을 추가/삭제할 수 있음 ✅ 2차원 리스트 생성 및 접근&변경# 3x3 2차원 리스트 생성matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]print(matrix)# 출력: [[1,..

List(리스트)

✅ List(리스트)리스트(List)는 여러 개의 데이터를 하나의 변수에 저장할 수 있는 자료형입니다. 파이썬에서 가장 많이 사용되는 자료구조 중 하나로, 변경 가능(mutable) 하고 다양한 데이터 타입을 포함할 수 있습니다. 특징설명순서가 있다리스트는 순서가 있는 데이터 구조(Ordered)입니다.변경 가능리스트의 요소를 변경, 추가, 삭제할 수 있습니다.여러 자료형 저장 가능숫자, 문자열, 리스트 등 다양한 데이터 타입을 포함할 수 있습니다.인덱싱과 슬라이싱 가능리스트 요소에 인덱스로 접근할 수 있으며 일부를 추출할 수도 있습니다. ✅ 리스트 생성 방법# 빈 리스트 생성empty_list = []# 정수형 리스트numbers = [1, 2, 3, 4, 5]# 문자열 리스트words = ["appl..