Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions jupyter471/week10/[SWEA]1859-백만 장자 프로젝트.py
Original file line number Diff line number Diff line change
@@ -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}')
28 changes: 28 additions & 0 deletions jupyter471/week10/[SWEA]1954-달팽이 숫자.py
Original file line number Diff line number Diff line change
@@ -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]))
32 changes: 32 additions & 0 deletions jupyter471/week9/[BOJ]1806-부분 합.py
Original file line number Diff line number Diff line change
@@ -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)