diff --git "a/jupyter471/week10/[SWEA]1859-\353\260\261\353\247\214 \354\236\245\354\236\220 \355\224\204\353\241\234\354\240\235\355\212\270.py" "b/jupyter471/week10/[SWEA]1859-\353\260\261\353\247\214 \354\236\245\354\236\220 \355\224\204\353\241\234\354\240\235\355\212\270.py" new file mode 100644 index 0000000..6d9b41f --- /dev/null +++ "b/jupyter471/week10/[SWEA]1859-\353\260\261\353\247\214 \354\236\245\354\236\220 \355\224\204\353\241\234\354\240\235\355\212\270.py" @@ -0,0 +1,15 @@ +T = int(input()) +# 여러개의 테스트 케이스가 주어지므로, 각각을 처리합니다. +for test_case in range(1, T + 1): + # /////////////////////////////////////////////////////////////////////////////////// + n = int(input()) + benefit = list(map(int, input().split())) + max_benefit = 0 + total = 0 + for i in range(n - 1, -1, -1): + if benefit[i] > max_benefit: + max_benefit = benefit[i] + else: + total += max_benefit - benefit[i] + + print(f'#{test_case} {total}') \ No newline at end of file diff --git "a/jupyter471/week10/[SWEA]1954-\353\213\254\355\214\275\354\235\264 \354\210\253\354\236\220.py" "b/jupyter471/week10/[SWEA]1954-\353\213\254\355\214\275\354\235\264 \354\210\253\354\236\220.py" new file mode 100644 index 0000000..f800cca --- /dev/null +++ "b/jupyter471/week10/[SWEA]1954-\353\213\254\355\214\275\354\235\264 \354\210\253\354\236\220.py" @@ -0,0 +1,28 @@ +T = int(input()) +movement = [(1,0),(0,-1),(-1,0),(0,1)] #하좌상우 (시계방향) +# 여러개의 테스트 케이스가 주어지므로, 각각을 처리합니다. +for test_case in range(1, T + 1): + size = int(input()) + #size x size - 시계방향으로 + snail = [[0] * size for _ in range(size)] + num = 1 + move_index = 0 + for index in range(size): + snail[0][index] = str(num) + num += 1 + #이동 + c_row = 0 + c_col = size-1 + i = size-1 + while i >= 1: + for _ in range(2): + for _ in range(i): + c_row += movement[move_index % 4][0] + c_col += movement[move_index % 4][1] + snail[c_row][c_col] = str(num) + num += 1 + move_index += 1 + i -= 1 + print(f'#{test_case}') + for i in range(size): + print(' '.join(snail[i])) diff --git "a/jupyter471/week9/[BOJ]1806-\353\266\200\353\266\204 \355\225\251.py" "b/jupyter471/week9/[BOJ]1806-\353\266\200\353\266\204 \355\225\251.py" new file mode 100644 index 0000000..f4902ad --- /dev/null +++ "b/jupyter471/week9/[BOJ]1806-\353\266\200\353\266\204 \355\225\251.py" @@ -0,0 +1,32 @@ +""" +길이 N인 수열 +합이 S 이상의 최소 길이 +못 만들면 0 +10 15 +5 5 5 10 6 7 5 1 9 10 +10 15 +5 5 5 10 1 2 3 4 5 9 +""" + +n,target = map(int, input().split()) +num = list(map(int,input().split())) + +start = end = 0 +number = num[0] +length = float('inf') + +while start <= end and end < n: + if number < target: + end += 1 + if end < n: + number += num[end] + elif number >= target: + length = min(length, end - start + 1) + number -= num[start] + start += 1 + + +if length == float('inf'): + print(0) +else: + print(length)