- 레시피와 재료, 공급품을 활용해 만들 수 있는 모든 레시피를 찾는 문제 🍳.
- 순진한 접근 방식은 특정 순서에 따라 결과가 달라질 수 있어 효과적이지 않음 🚫.
- 이 문제는 그래프 문제로 변환하여 DFS 또는 BFS로 해결 가능 🗺️.
- 레시피와 공급품은 그래프의 노드, 재료는 엣지로 표현됨 🔗.
- 이미 만들 수 있는 레시피는
can_cook
해시 맵에 저장하여 중복 계산을 방지 ♻️. - 사이클이 존재하면 모든 레시피를 만들 수 없는 경우가 발생할 수 있음 🔄.
- 실제 그래프를 만들 필요 없이, 주어진 재료 목록을 인접 리스트처럼 활용 가능 📝.
- 문자열 대신 인덱스를 사용하여 공간 효율성을 높임 🔢.
- 이 문제는 코스 스케줄 문제와 유사하며, 위상 정렬로도 해결 가능 🎓.
- 리스트 컴프리헨션을 사용하여 코드를 간결하게 만들 수 있음 ✨.