이것이 취업을 위한 코딩 테스트다 CHAPTER 6 정렬
정렬 데이터를 특정한 기준에 따라서 순서대로 나열하는 것 list.reverse() 리스트를 뒤집는 연산 O(N) 선택정렬 매번 가장 작은 것을 선택하는 알고리즘 이 중에서 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸고, 그다음 작은 데이터를 선택해 앞에서 두 번째 데이터와 바꾸는 과정 반복 O(N^2) # 선택 정렬 arr = [7,5,9,0,3,1,6,2,4,8] for i in range(len(arr)): min_index = i # 가장 작은 원소의 인덱스 for j in range(i+1,len(arr)): if arr[min_index] > arr[j]: min_index = j arr[i], arr[min_index] = arr[min_index], arr[i] print(arr..
2023. 4. 5.
[백준] 11444. 피보나치 수 6 - Python
https://www.acmicpc.net/problem/11444 11444번: 피보나치 수 6 첫째 줄에 n이 주어진다. n은 1,000,000,000,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 재귀로 하나하나 피보나치 수를 구하니 시간초과 분할 정복을 이용한 거듭 제곱 활용 아래 그림으로 설명 코드 import sys input = sys.stdin.readline # 행렬 제곱 def power(adj,n): if n == 1: return adj # n이 짝수인 경우 elif n%2 == 0: return power(multi(adj,adj),n//2) # n이 홀수인 경우 else: return multi(power(adj,n-1),adj) # 행렬의 ..
2023. 4. 3.