diff --git a/wgwjh05169/week10/[SWEA]1206-View.py b/wgwjh05169/week10/[SWEA]1206-View.py new file mode 100644 index 0000000..932c83e --- /dev/null +++ b/wgwjh05169/week10/[SWEA]1206-View.py @@ -0,0 +1,16 @@ +def search(): + N = int(input()) + heights = list(map(int, input().split())) + + count = 0 + for i in range(2, N - 2): + maximum_neighbor = max(*heights[i - 2:i], *heights[i + 1:i + 3]) + if heights[i] > maximum_neighbor: + count += heights[i] - maximum_neighbor + + return count + + +for t in range(1, 11): + result = search() + print(f"#{t} {result}") diff --git "a/wgwjh05169/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/wgwjh05169/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..15cd6fb --- /dev/null +++ "b/wgwjh05169/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,22 @@ +def test(): + N = int(input()) + prices = list(map(int, input().split())) + bounds = [0] * N + + maximum = prices[-1] + for i in range(N - 1, -1, -1): + if prices[i] > maximum: + maximum = prices[i] + bounds[i] = maximum + + profit = 0 + for i in range(N): + profit += bounds[i] - prices[i] + + return profit + + +T = int(input()) +for t in range(1, T + 1): + result = test() + print(f'#{t} {result}') diff --git "a/wgwjh05169/week10/[SWEA]1954-\353\213\254\355\214\275\354\235\264\354\210\253\354\236\220.py" "b/wgwjh05169/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..b9b3a58 --- /dev/null +++ "b/wgwjh05169/week10/[SWEA]1954-\353\213\254\355\214\275\354\235\264\354\210\253\354\236\220.py" @@ -0,0 +1,37 @@ +def test(): + N = int(input()) + snail = [[0] * N for _ in range(N)] + loop = N // 2 if N % 2 == 0 else N // 2 + 1 + + cnt = 1 + for k in range(loop): + lowest = 0 + k + highest = N - k - 1 + + for idx in range(0 + k, N - k): + snail[lowest][idx] = cnt + cnt += 1 + cnt -= 1 + + for idx in range(0 + k, N - k): + snail[idx][highest] = cnt + cnt += 1 + cnt -= 1 + + for idx in range(N - k - 1, 0 + k - 1, -1): + snail[highest][idx] = cnt + cnt += 1 + cnt -= 1 + + for idx in range(N - k - 1, 0 + k, -1): + snail[idx][lowest] = cnt + cnt += 1 + + for i in range(N): + print(*snail[i], sep=' ') + + +T = int(input()) +for t in range(1, T + 1): + print(f'#{t}') + test() diff --git "a/wgwjh05169/week10/[SWEA]2001-\355\214\214\353\246\254\355\207\264\354\271\230.py" "b/wgwjh05169/week10/[SWEA]2001-\355\214\214\353\246\254\355\207\264\354\271\230.py" new file mode 100644 index 0000000..9d2905f --- /dev/null +++ "b/wgwjh05169/week10/[SWEA]2001-\355\214\214\353\246\254\355\207\264\354\271\230.py" @@ -0,0 +1,20 @@ +def test(): + N, M = map(int, input().split()) + matrix = [list(map(int, input().split())) for _ in range(N)] + + maximum = 0 + for i in range(N - M + 1): + for j in range(N - M + 1): + fly = 0 + for di in range(M): + fly += sum(matrix[i + di][j:j + M]) + if fly > maximum: + maximum = fly + + return maximum + + +T = int(input()) +for t in range(1, T + 1): + result = test() + print(f"#{t} {result}")