전체 글 (171) 썸네일형 리스트형 [시간 복잡도] 빅오 표기법의 종류 1. O(1) : 상수형 2. O(logn) : 로그형 3. O(n) : 선형 4. O(n^2) : 2차형 5. O(n^3) : 3차형 6. O(n^k) : k차형 7. O(2^n) : 지수형 8. O(n!) : 팩토리얼형 1번에서 8번으로 갈수록 실행시간이 오래 걸린다. 크기가 가장 큰 항을 제외하고 나머지 항은 무시된다. (곱셈, 나눗셈 그리고 상수는 무시) [프로그래머스][Python] 주식가격 주식가격이 내려가지 않은 기간은 몇 초인지 파악하는 문제이다. # 가격이 내려가지 않은 기간 from collections import deque def solution(prices): answer = [] prices = deque(prices) while prices: now = prices.popleft() result = 0 if not prices: result = 0 else: for val in prices: result += 1 if val < now: break answer.append(result) return answer print(solution([1, 2, 3, 2, 3])) 처음 들어간 값이 먼저나오는 Queue(FIFO)구조로 동작한다. 이렇게 풀게 되면 N + (N - 1) .. [프로그래머스][Python] 더 맵게 문제를 정리해보자. 모든 음식의 지수를 K이상으로 만들어야 한다. 하나라도 K이상이 아니라면, 2개의 음식을 섞어서 새로운 음식을 만든다. 새로운 음식 = 가장 맵지 않은 음식의 지수 + (두 번째로 맵지 않은 음식의 지수 X 2) 모든 음식의 지수가 K라면 그만한다. 음식이 1개 남았는데, K보다 작다면 -1을 출력한다. Heap을 이용했다. import heapq def solution(scoville, K): answer = 0 heap = [] for num in scoville: heapq.heappush(heap, num) check = heap[0] while check < K: if len(heap) < 2: return -1 x = heapq.heappop(heap) y = heapq.h.. 이전 1 ··· 24 25 26 27 28 29 30 ··· 57 다음