https://programmers.co.kr/learn/courses/30/lessons/68646
이런저런 케이스를 생각하다 보면 해당 위치에서 왼쪽 오른쪽으로 가장 작은 값이 하나라도 본인일 경우
마지막까지 남는 풍선이 될 수 있다.
따라서 왼쪽에서, 오른쪽에서 동시에 서치 하면서 가장 작은 순간이 있다면 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)
'Programming > Programmers' 카테고리의 다른 글
[프로그래머스] 길 찾기 게임 (Python) (0) | 2021.11.15 |
---|---|
[프로그래머스] 기둥과 보 설치 (Python) (0) | 2021.11.15 |
[프로그래머스] 최고의 집합 (Python) (0) | 2021.11.13 |
[프로그래머스] 줄 서는 방법 (Python) (0) | 2021.11.13 |
[프로그래머스] 야근 지수(Python) (0) | 2021.11.13 |
댓글