목록algorithm (61)
현제의 현재이야기
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의 자리 수보다 낮은 자리 수들의 길이를 모두 합한다. 전 자리 길이들 다 더한거에 해당 자리 수의 나머지 부분에 길이를 ..
n = int(input()) a = [] for _ in range(n): x = tuple(map(int, input().split())) a.append(x) a.sort(key=lambda x: (x[0], x[1])) print(a) for x, y in a: print(x, y)

n = int(input()) preprev = 0 prev = 1 result = 0 if n == 1: print(prev) elif n == 2: print('1') else: for _ in range(n - 1): result = preprev + prev preprev = prev prev = result print(result) 알고리즘: 변수를 preprev prev result 로 두고 반복 한 번 할때마다 숫자들을 한칸씩 앞으로 이동하여 계속해서 result를 도출하는 방식으로 만들어봤습니다. 처음에 n이 1, 2일때 예외적으로 1, 2가 나오는 걸 생각못해서 오류가 났었음