목록전체 글 (165)
현제의 현재이야기

from collections import deque n, m = tuple(map(int, input().split())) target = list(map(int, input().split())) target = deque(target) all = [ i + 1 for i in range(n) ] all = deque(all) cnt = 0 while len(target) != 0 : if all[0] == target[0]: all.popleft() target.popleft() elif all[0] != target[0] and all.index(target[0]) (len(all) // 2): all.rotate() cnt += 1 print(cnt) 덱을 활용하는 문제, 덱에 친해질 수 있는 문..
def profit(n ,a): maxi = max(a) profit = 0 for _ in range(n): if a[0] != maxi: profit += maxi - a[0] a.pop(0) elif a[0] == maxi: a.pop(0) if len(a) != 0: maxi = max(a) print(profit) t = int(input()) for _ in range(t): n = int(input()) a = list(map(int, input().split())) profit(n, a) >> 시간초과 t = int(input()) for _ in range(t): n = int(input()) a = list(map(int, input().split())) maxi = 0 profit =..
n, m = tuple(map(int, input().split())) a = list(map(int, input().split())) a.append(0) # 인덱스 참조 리스트 범위 오류 막기 위해서.. result = 0 target = 0 left = 0 right = 1 target = a[left] + a[right] while right n: break target = a[left] + a[right] elif target n: break target = target + a[right] elif target > m: left += 1 right = left + 1 if right > n: break target = a[left] + a[righ..
첫번째 try a = list(map(int, input().split())) n = a[0]; d = a[1]; k = a[2]; c = a[3] sushi = [ input() for _ in range(n) ] pointer = 0 case = [] for _ in range(n): if pointer + k = max: max = leng print(max) 메모리 초과 두번째 try: def leng(a, max): a = set(a) leng = len(a) if str(c) not in a: leng += 1 if leng >= max: max = leng return max a = list(map(int, input().split())) n = a[0]; d = a[1]; k = a[2];..

첫번재 try n = int(input()) a = [ str(i + 1) for i in range(n) ] b = "".join(a) print(len(b)) 두번째 try n = input() leng = len(n) leng_minus = leng - 1 output = 0 for i in range(leng - 1): output += 9 * (10 ** i) * (i + 1) output += (int(n) - (10 ** leng_minus) + 1) * leng print(output) 알고리즘: 우선 자연수 n을 문자로 받고 len 함수로 자리 수를 얻는다. 자연수 n의 자리 수보다 낮은 자리 수들의 길이를 모두 합한다. 전 자리 길이들 다 더한거에 해당 자리 수의 나머지 부분에 길이를 ..