프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
from collections import deque
def solution(k, dungeons):
answer = 0
q = deque([(k, [])])
while q:
now, visited = q.popleft()
for i in range(len(dungeons)):
if i not in visited and now >= dungeons[i][0]:
q.append((now-dungeons[i][1], visited+[i]))
else:
answer = len(visited)
return answer
BFS를 이용하여 풀이하였다.
큐에 유저의 현재 피로도와 방문한 던전의 인덱스들을 저장하는 배열을 튜플 형태로 넣는다.
아직 방문하지 않은 던전이고 유저의 현재 피로도가 지금 방문한 던전의 최소 필요 피로도보다 크거나 같다면 탐험 가능한 던전이므로 큐에 (현재 피로도 - 현재 던전의 소모 피로도)와 방문한 던전 배열에 현재 던전 인덱스를 추가한 배열을 넣어준다.
if i not in visited and now >= dungeons[i][0]:
q.append((now-dungeons[i][1], visited+[i]))
그런데 위의 if문에 해당하지 않는다면 answer를 현재 방문한 던전들의 개수로 업데이트해준다. max 함수를 왜 안 썼나 싶을 수도 있겠지만 어차피 BFS의 탐색 과정을 생각해보면 결국은 가장 큰 값이 저장되게 될 것이므로 굳이 사용하지 않았다.
'문제풀이 > DFS_BFS' 카테고리의 다른 글
[Python/파이썬] 백준 14466번 소가 길을 건너간 이유 6 (0) | 2023.01.17 |
---|---|
[Python/파이썬] 백준 15591번 MooTube (Silver) (0) | 2023.01.07 |
[Python/파이썬] 프로그래머스 타겟 넘버 (0) | 2022.12.02 |
[Python/파이썬] 프로그래머스 단어 변환 (0) | 2022.10.21 |
[Python/파이썬] 프로그래머스 네트워크 (0) | 2022.10.14 |
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
from collections import deque def solution(k, dungeons): answer = 0 q = deque([(k, [])]) while q: now, visited = q.popleft() for i in range(len(dungeons)): if i not in visited and now >= dungeons[i][0]: q.append((now-dungeons[i][1], visited+[i])) else: answer = len(visited) return answer
BFS를 이용하여 풀이하였다.
큐에 유저의 현재 피로도와 방문한 던전의 인덱스들을 저장하는 배열을 튜플 형태로 넣는다.
아직 방문하지 않은 던전이고 유저의 현재 피로도가 지금 방문한 던전의 최소 필요 피로도보다 크거나 같다면 탐험 가능한 던전이므로 큐에 (현재 피로도 - 현재 던전의 소모 피로도)와 방문한 던전 배열에 현재 던전 인덱스를 추가한 배열을 넣어준다.
if i not in visited and now >= dungeons[i][0]: q.append((now-dungeons[i][1], visited+[i]))
그런데 위의 if문에 해당하지 않는다면 answer를 현재 방문한 던전들의 개수로 업데이트해준다. max 함수를 왜 안 썼나 싶을 수도 있겠지만 어차피 BFS의 탐색 과정을 생각해보면 결국은 가장 큰 값이 저장되게 될 것이므로 굳이 사용하지 않았다.
'문제풀이 > DFS_BFS' 카테고리의 다른 글
[Python/파이썬] 백준 14466번 소가 길을 건너간 이유 6 (0) | 2023.01.17 |
---|---|
[Python/파이썬] 백준 15591번 MooTube (Silver) (0) | 2023.01.07 |
[Python/파이썬] 프로그래머스 타겟 넘버 (0) | 2022.12.02 |
[Python/파이썬] 프로그래머스 단어 변환 (0) | 2022.10.21 |
[Python/파이썬] 프로그래머스 네트워크 (0) | 2022.10.14 |