Python 4

알고리즘

시간복잡도종류O(1): 항상 한 번만 접근arr = [1,2,3]print(arr[0])#배열의 크기와 상관없이 한 번만 접근O(n): 입력 크기만큼 반복for i in range(n): print(i)O(n^2): 이중 반복문for i in range(n): for j in range(n): print(i,j)O(log n): 반씩 줄어드는 경우 -- ex) 이분탐색left = 0right = n-1while left O(1)O(log n) => 이분탐색O(n) => 배열 순회O(n log n) => 정렬O(n^2) => 이중 반복문O(n^3)O(2^n)O(n!)시간복잡도 계산 규칙반복문이 중첩되면 곱한다반복문이 따로 있으면 더한다상수는 버린다가장 큰 항만 남긴배열같은 종류의 데이터를 순서대..

Python 2026.06.30

Python 복습(2)

필수 입출력기본: n = int(input())한 줄에 여러 숫자: a, b = map(int, input().split())리스트로 받기: arr = list(map(int, input().split()))빠른 입력: import sys; input = sys.stdin.readline리스트 & 슬라이싱추가/삭제: arr.append(x), arr.pop() (마지막 제거), arr.pop(0) (첫 번째 제거 - 단, 느림)뒤집기: arr[::-1] (문자열도 가능)정렬: arr.sort() (오름차순), arr.sort(reverse=True) (내림차순)길이: len(arr)반복문 (for문)횟수 반복: for i in range(n): (0부터 n-1까지)범위 반복: for i in range(..

Python 2026.05.14

Python 복습(1)

입출력과 자료형입출력 input()#정수 하나 받기n = int(input())//정수 하나 받기#공백으로 구분된 여러 숫자data = list(map(int, input().split()))#출력print(data)#orprint(f"정답은 {result}입니다") map(함수, 반복 가능한 객체): 두 번째 인자로 들어온 리스트나 튜플의 모든 요소에 첫 번째 인자로 넣은 함수를 일괄 적용해 주는 함수input().split()을 하면 결과는 항상 문자열 리스트가 됨(예: ["1", "2", "3"]) 계산을 할 때 정수(int)가 필요하므로 이때 map을 써서 한꺼번에 형변환 strip(): 문자열의 양 끝에 있는 공백, 탭, 줄바꿈 문자를 모두 지워줌map(int, input().split()) -..

Python 2026.05.14

Python - list

추가삭제탐색정렬appendpopindexsortextendremovecountsortedinsertclearinreverse 리스트 생성a = []a = list()a = [1,2,3]a = list(range(5))list()반복가능한 객체 -> 리스트로 변환list("abc") # ['a','b','c']list((1,2,3)) # [1,2,3] 요소 추가append() - 맨 뒤에 1개 추가 | arr.append(추가할 값)extend() - 리스트 여러 개 붙이기 | arr.extend([n1,n2])insert() - 특정 위치 삽입 | arr.insert(위치, 값) 요소 삭제pop() - 값 꺼내면서 삭제 | arr.pop() 맨 뒤에 값, arr.pop(0) 인덱스 0에 있..

Python 2026.05.14