arr = [1,2,3,4,5] visted = [False for i in range(5)] def comb(arr,idx,cnt): if cnt ==0: for i in range(len(visted)): if visted[i] == True: print(arr[i],end=' ') print() return for i in range(idx,len(arr)): if visted[i] == True: continue visted[i] = True comb(arr,i,cnt-1) visted[i]= False comb(arr,0,3) 시간복잡도 O(2^n) 해당 원소를 뽑는다 안뽑는다 라는 두가지 경우로 시간복잡도는 2^n이 됨 매개변수 idx 를 중점적으로 봐보면 for문이 idx를 기준으로 시작하는..
오랜만에 이진탐색 코드를 좀 풀어보려고 하는데 계속 시간초과가 난다.. 4년전의 나와 지금의 나는 여전히... ㅋㅋ 아니 근데 도저히 납득이 안됐다. 그래서 알아보니 python 으로 제출하면 시간초과가 난다는 것이다. 그래서 pypy3로 제출하니.. 시간초과가 안난다 ㅋ import sys n,m = map(int, input().split()) v = list(map(int,sys.stdin.readline().split())) start = 1 end = max(v) answer =0 v.sort(reverse=True) while start0: tsum+=i-mid elif i-mid m: start = mid +1 answer = mid print(answer)