목록시간초과 (3)
개발 무지렁이
오큰수 / 스택 🥞 🎠. '스택(Stack)'에 값이 아닌 '인덱스(index)'를 넣어 문제를 해결할 줄 알아야 한다. [시간초과 난 코드.py] N = int(input()) stack = list(map(int, input().split())) # print(stack) len = len(stack) res = [] ano_stack = [] for i in range(len): # print("res:", res) cur = stack.pop() # print("cur:", cur) if i == 0: res.append(-1) ano_stack.insert(0, cur) continue # print("ano_stack", ano_stack) flag = 0 for ..
수열 / 슬라이딩 윈도우 🚠 🎠. '슬라이딩 윈도우'알고리즘을 구현할 줄 알아야한다 => '이전의 계산한 결과'를 최대한 이용하는 방식으로 [시간초과 난 코드.py] N, K = map(int, input().split()) tempers = list(map(int, input().split())) # print(tempers) sum_prev = sum(tempers[:K]) for i in range(1, len(tempers)-K): cur = sum(tempers[i:K+i]) sum_prev = max(sum_prev, cur) print(sum_prev) 🤡. 실수한 부분 : 이전에 계산한 결과를 써먹지 못했다. [성공한 코드.py] N, K = map(int, i..
수찾기 🪅 중첩 for문을 도는 것 대신, 다른 시간복잡도가 낮은 탐색과정을 알고있는가 🪅 이진탐색을 위한 조건을 알고 있는가 => 정렬되어 있어야한다. 🪅 이진탐색을 구현할 수 있는가 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { static int[] arr; public static int binarySearch(int target) { int low = 0; int high = arr.length - 1; while(low