-
[PCCP 기출문제] 2번 / 석유 시추코딩 테스트/Level 2 2024. 8. 9. 00:41반응형
https://school.programmers.co.kr/learn/courses/30/lessons/250136
파이썬
def solution(land): height, width = len(land), len(land[0]) oils_total = [0 for _ in range(width)] for h in range(height): for w in range(width): if land[h][w] == 1: oils, pipes = 0, set() land[h][w] = 0 stack = [(h, w)] while stack: y, x = stack.pop() pipes.add(x) oils += 1 for dy, dx in ((1, 0), (0, 1), (-1, 0), (0, -1)): if 0 <= (ny := y + dy) < height and 0 <= (nx := x + dx) < width and land[ny][nx] == 1: land[ny][nx] = 0 stack.append((ny, nx)) for pipe in pipes: oils_total[pipe] += oils return max(oils_total)
정확성 테스트 테스트 1 〉 통과 (0.04ms, 10.2MB) 테스트 2 〉 통과 (0.26ms, 10.1MB) 테스트 3 〉 통과 (0.06ms, 10.1MB) 테스트 4 〉 통과 (0.08ms, 10.2MB) 테스트 5 〉 통과 (0.06ms, 10.2MB) 테스트 6 〉 통과 (0.57ms, 10.3MB) 테스트 7 〉 통과 (0.74ms, 10.2MB) 테스트 8 〉 통과 (0.53ms, 10.2MB) 테스트 9 〉 통과 (2.33ms, 10.3MB) 효율성 테스트 테스트 1 〉 통과 (41.99ms, 12.2MB) 테스트 2 〉 통과 (112.56ms, 12.2MB) 테스트 3 〉 통과 (112.86ms, 12.1MB) 테스트 4 〉 통과 (38.63ms, 12.1MB) 테스트 5 〉 통과 (253.74ms, 21.2MB) 테스트 6 〉 통과 (43.61ms, 12.2MB)
반응형