Skip to content

Commit 48630ba

Browse files
Merge pull request #670 from baekhangyeol/main
[백한결] 101차 라이브 코테 제출
2 parents e9bdc70 + 0f62c9f commit 48630ba

3 files changed

Lines changed: 70 additions & 0 deletions

File tree

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
dp = [-1] * 11
2+
3+
def main():
4+
T = int(input())
5+
6+
for i in range(T):
7+
n = int(input())
8+
9+
print(recursion(n))
10+
11+
12+
def recursion(n):
13+
if n == 0:
14+
return 1
15+
if n < 0:
16+
return 0
17+
18+
if dp[n] != -1:
19+
return dp[n]
20+
21+
dp[n] = recursion(n-1) + recursion(n-2) + recursion(n-3)
22+
23+
return dp[n]
24+
25+
if __name__ == "__main__":
26+
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+
cost = [list(map(int, input().split())) for _ in range(N)]
4+
5+
dp = [[0] * 3 for _ in range(N)]
6+
7+
dp[0][0] = cost[0][0]
8+
dp[0][1] = cost[0][1]
9+
dp[0][2] = cost[0][2]
10+
11+
for i in range(1, N):
12+
dp[i][0] = min(dp[i-1][1], dp[i-1][2]) + cost[i][0]
13+
dp[i][1] = min(dp[i-1][0], dp[i-1][2]) + cost[i][1]
14+
dp[i][2] = min(dp[i-1][0], dp[i-1][1]) + cost[i][2]
15+
16+
print(min(dp[N-1]))
17+
18+
19+
if __name__ == "__main__":
20+
main()
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
from collections import deque
2+
3+
def solution(n, edge):
4+
graph = [[] for _ in range(n + 1)]
5+
6+
for a, b in edge:
7+
graph[a].append(b)
8+
graph[b].append(a)
9+
10+
distance = [-1] * (n + 1)
11+
distance[1] = 0
12+
13+
queue = deque([1])
14+
15+
while queue:
16+
now = queue.popleft()
17+
for neighbor in graph[now]:
18+
if distance[neighbor] == -1:
19+
distance[neighbor] = distance[now] + 1
20+
queue.append(neighbor)
21+
22+
max_distance = max(distance)
23+
24+
return distance.count(max_distance)

0 commit comments

Comments
 (0)