프로그래머스에서 석유시추 문제를 풀었습니다.
https://school.programmers.co.kr/learn/courses/30/lessons/250136
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제에 대한 설명은 위의 링크에서 확인하시면 됩니다.

이 문제를 풀 때 Stack을 사용해서 DFS로 풀었습니다.
각 석유 시추관의 위치에서 추출할 수 있는 석유량을 저장하는 배열 oilArr을 생성합니다.(43라인)
석유 탐색하는 방향을 저장하는 di배열, dj배열을 생성합니다.(46 ~ 47라인)
석유 탐색이 가능한 석유 시추관 조회합니다.(49 ~ 99라인)
방문한 적 없고 석유가 있는 석유 시추관 위치를 추가합니다.(52 ~ 56라인)
앞에서 추가한 석유 시추관 기준으로 석유 매장량 탐색합니다.(58 ~ 98라인)
다음 석유 매장량 위치 탐색할 때 방문한 적이 없고 인덱스 범위를 벗어나지 않고 석유가 있는 경우
현재 탐색한 석유 매장량 증가하고 수평 인덱스를 저장합니다.(86 ~ 91라인)
석유 매장량 탐색하면서 방문한 수평 인덱스에 석유 매장량 저장합니다.(95 ~ 97라인)
각 석유 시추관 위치에서 최대 석유 매장량을 조회합니다.(101라인)
이 문제를 쉽게 풀기 위해서 각 석유 시추관 별 석유 매장량을 저장하는 것이 관건인데
저는 배열을 사용했지만 Map을 사용해도 될 것 같습니다.
