본문 바로가기

dev/코테

석유 시추

프로그래머스에서 석유시추 문제를 풀었습니다.

 

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을 사용해도 될 것 같습니다.

 

채점 결과

'dev > 코테' 카테고리의 다른 글

숫자 카드 나누기  (0) 2024.04.28
문자열 압축  (0) 2024.04.24
110 옮기기  (0) 2024.03.30
숫자 변환하기  (0) 2024.03.30
카카오프렌즈 컬러링북  (0) 2024.01.12