석유 시추

코딩 테스트

(Python) 프로그래머스 - 석유 시추

30분이면 풀 수 있을 줄 알았지만 몇 시간을 고민한 문제이다. 각 열을 돌면서 매번 bfs를 탐색해도 시간초과에 안 걸릴 것 같았는데, 효율성 테스트에서 전부 시간 초과가 나서 bfs 탐색이 끝나면 각 열에 오일 개수를 추가하는 로직으로 풀이에 성공했다. 로직 일반적인 bfs와 다른점은 bfs 탐색이 끝나면 석유가 있는 열 set을 따로 만들어서 set을 순회하며 원래 oil 리스트에 인접 영역의 석유의 양인 cnt을 더해주는 것이다. 이렇게 하면 bfs 탐색은 한 번만 실행하고 석유가 있는 인접영역을 모두 열에 추가하여 답을 구할 수 있다. 최종 코드 from collections import deque def solution(land): answer = 0 n, m = len(land), len(l..

로승리
'석유 시추' 태그의 글 목록