알고리즘 (2) 썸네일형 리스트형 파이썬 알고리즘 꿀팁 input() 값 입력받는 함수 import sys input = sys.stdin.readline # 오버라이딩 arr.index(n) 배열에서 n 값 의 인덱스를 알아오는 메소드 [52, 33, 64, 72].index(64) => 2 모든 인덱스 확인 => O(n) 배열로 접근속도 줄이기 a[n] 글로벌 변수 a = 10 def test(): global a a = a + 1 print(a) 백트래킹할때 깊은복사로 새로운 배열을 만들게되면 시간복잡도가 n이 된다. 그냥 하나의 배열로 만들어야한다. append, pop 하는 형식으로 해야 시간복잡도가 상수화된다. 이런형식이면 됨 global lst ... lst.append(i) if correct(): nqrec(a, cnt - 1) lst.pop.. 정렬 공부 함수의 구현 정렬 함수가 있다면 조건을 넣는 함수를 받을 수 있게 해야한다. 만약 정렬 조건이 역순이라면? 아니면 int를 받아서 사전순으로 정렬해야 한다면? // 조건함수. 앞이 큰경우 1을 리턴 int cond(int a, int b) { if (a > b) return (1); return (0); } void bubble_sort(int *arr, int len, int(*cond)(int, int)) { for (int i = 0; i arr[i + 1] swap(arr[i], arr[i + 1]); } 버블정렬 구현은 .. 이전 1 다음