Skip to content

Commit 33612c0

Browse files
committed
[PGS] 피로도 / Level 2 / 39분 / 힌트, 성공
1 parent fef080f commit 33612c0

File tree

2 files changed

+50
-0
lines changed

2 files changed

+50
-0
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
answer = 0
2+
n = 0
3+
visited = []
4+
5+
6+
def dfs(k, cnt, dungeons):
7+
global answer
8+
# 최대 탐험 횟수 갱신
9+
if cnt > answer:
10+
answer = cnt
11+
12+
# 각 던전에 대해 탐험 시도
13+
for i in range(n):
14+
if k >= dungeons[i][0] and not visited[i]: # 최소 필요 피로도 조건 만족
15+
visited[i] = 1
16+
dfs(k - dungeons[i][1], cnt + 1, dungeons) # 탐험
17+
visited[i] = 0 # 상태 복구 (백트래킹)
18+
19+
20+
def solution(k, dungeons):
21+
global n, visited
22+
n = len(dungeons) # 던전 개수
23+
visited = [0] * n # 방문 여부 초기화
24+
dfs(k, 0, dungeons)
25+
return answer
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
answer = 0
2+
n = 0
3+
visited = []
4+
5+
6+
def dfs(k, cnt, dungeons):
7+
global answer
8+
# 최대 탐험 횟수 갱신
9+
if cnt > answer:
10+
answer = cnt
11+
12+
# 각 던전에 대해 탐험 시도
13+
for i in range(n):
14+
if k >= dungeons[i][0] and not visited[i]: # 최소 필요 피로도 조건 만족
15+
visited[i] = 1
16+
dfs(k - dungeons[i][1], cnt + 1, dungeons) # 탐험
17+
visited[i] = 0 # 상태 복구 (백트래킹)
18+
19+
20+
def solution(k, dungeons):
21+
global n, visited
22+
n = len(dungeons) # 던전 개수
23+
visited = [0] * n # 방문 여부 초기화
24+
dfs(k, 0, dungeons)
25+
return answer

0 commit comments

Comments
 (0)