개미 전사 n = int(input()) foods = list(map(int, input().split())) M = [0] * n M[0] = foods[0] M[1] = max(foods[0], foods[1]) for i in range(2, n): M[i] = max(M[i-2] + foods[i], M[i-1]) result = M[n]-1 print(result) n = int(input()) array = list(map(int, input().split())) d = [0] * 100 d[0] = array[0] d[1] = max(array[0], array[1]) for i in range(2,..
이것이 취업을 위한 코딩테스트이다.
떡볶이 떡 만들기 n, m = map(int, input().split()) array = list(map(int, input().split())) start = 0 end = max(array) result = 0 while(start mid: total += (i-mid) if total < m: end = mid - 1 else: result = mid start = mid + 1 print(result) n, m = list(map(int, input().split())) array = list(map(int, input().split())) start = 0 end = max(array) result = ..
정렬: 데이터를 특정한 기준에 따라서 순서대로 나열하는 것 퀵 정렬 기준 데이터(피벗)를 설정하고 그 기준보다 큰 데이터와 작은 데이터의 위치를 바꾸는 알고리즘 array = [2, 6, 7, 4, 9, 5] def quick_sort(array, start, end): if start >= end: # 원소가 하나인 경우 return pivot = start # 피벗은 첫 번째 원소 left = start + 1 right = end while left right: # 엇갈렸다면 작은 데이터와 피벗을 교체 array[right], array[pivot] = array[pivot], array[right] else..
정렬: 데이터를 특정한 기준에 따라서 순서대로 나열하는 것 삽입 정렬 데이터를 하나씩 확인하며, 각 데이터를 적절한 위치에 삽입하는 알고리즘 array = [2, 6, 7, 4, 9, 5] for i in range(1, len(array)): for j in range(i, 0, -1): if array[j] < array[j-1]: # 한 칸씩 왼쪽으로 이동 array[j], array[j - 1] = array[j - 1], array[j] else: break print(array) 삽입 정렬의 복잡도: O(N^2) 현재 리스트가 거의 정렬되어 있는 상태라면 매우 빠르게 동작함. 최선의 경우 O(N)