Skip to content

Commit 0a3a3c7

Browse files
Merge pull request #678 from baekhangyeol/main
[백한결] 102차 라이브 코테 제출
2 parents 93dca17 + 83994e7 commit 0a3a3c7

3 files changed

Lines changed: 61 additions & 0 deletions

File tree

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
def main():
2+
n = int(input())
3+
4+
dp = [0] * (n + 1)
5+
dp[1] = 1
6+
7+
if n >= 2:
8+
dp[2] = 3
9+
10+
# 마지막에 2x1 타일을 세로로 놓았을 때 -> 1칸에만 들어감, 즉 한 칸만 비워져있어야 함 (i-1)
11+
# 마지막에 2x1 타일을 가로로 2개 놓았을 때 -> 2칸에 들어감, 즉 두 칸 비워져있어야 함 (i-2)
12+
# 마지막에 2x2 타일을 놓았을 때 -> 2칸에 들어감, 마찬가지로 두 칸 비워져있어야 함 (i-2)
13+
for i in range(3, n + 1):
14+
dp[i] = (dp[i - 1] + 2 * dp[i - 2]) % 10007
15+
16+
print(dp[n])
17+
18+
19+
if __name__ == "__main__":
20+
main()
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
def main():
2+
N = int(input())
3+
a = list(map(int, input().strip().split()))[:N]
4+
5+
min_price = float('inf')
6+
max_profit = 0
7+
8+
for i in a:
9+
if i < min_price:
10+
min_price = i
11+
profit = i - min_price
12+
if profit > max_profit:
13+
max_profit = profit
14+
15+
print(max_profit)
16+
17+
18+
19+
if __name__ == "__main__":
20+
main()
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
from collections import deque
2+
3+
def solution(x, y, n):
4+
answer = 0
5+
dp = [-1] * (y + 1)
6+
7+
dp[x] = 0
8+
9+
queue = deque([x])
10+
11+
while queue:
12+
current = queue.popleft()
13+
14+
for nextNum in (current + n, current * 2, current * 3):
15+
if nextNum > y:
16+
continue
17+
if dp[nextNum] == -1:
18+
dp[nextNum] = dp[current] + 1
19+
queue.append(nextNum)
20+
21+
return dp[y]

0 commit comments

Comments
 (0)