본문 바로가기
Programming/Programmers

[프로그래머스] 풍선 터트리기 (Python)

by 데이터현 2021. 11. 14.

https://programmers.co.kr/learn/courses/30/lessons/68646

 

코딩테스트 연습 - 풍선 터트리기

[-16,27,65,-2,58,-92,-71,-68,-61,-33] 6

programmers.co.kr

 

 

이런저런 케이스를 생각하다 보면 해당 위치에서 왼쪽 오른쪽으로 가장 작은 값이 하나라도 본인일 경우

마지막까지 남는 풍선이 될 수 있다.

따라서 왼쪽에서, 오른쪽에서 동시에 서치 하면서 가장 작은 순간이 있다면 answer에 추가해주면 된다.

 

나의 풀이

def solution(a):
    answer = [False for _ in range(len(a))]
    INF = 1000000001
    left_min, right_min = INF, INF
    for i in range(len(a)):
        if a[i] < left_min:
            left_min = a[i]
            answer[i] = True
        if a[len(a)-i-1] < right_min:
            right_min = a[len(a)-i-1]
            answer[len(a)-i-1] = True
    return sum(answer)

댓글