[백준/파이썬] 2493번 탑 풀이

업데이트:



문제 정보


풀이

문제

각 탑이 왼쪽으로 신호를 보낼 때 처음으로 만나는 더 높거나 같은 탑의 번호를 출력하는 문제입니다.

코드

_, towers = input(), list(map(int, input().split()))

for i, tower in enumerate(towers):
    dst = 0
    for j in range(i-1, -1, -1):
        if(tower <= towers[j]):
            dst = j+1
            break
    print(dst, end=" ")

설명

현재 탑 기준으로 왼쪽을 역방향 탐색해 처음 조건을 만족하는 인덱스를 찾고, 없으면 0을 출력합니다.



댓글남기기