본문 바로가기

코딩/매일 한 문제 이상

[매일 한 문제 이상] 프로그래머스 - 탑

17일차

def solution(heights):
    answer = []
    list_a = list(map(int,heights))
    while list_a:
        syn = list_a.pop()
        for i in range(len(list_a)-1,-1,-1):
            if list_a[i] > syn:
                answer.insert(0,i+1)
                break
            if i == 0:
                answer.insert(0,0)
        if not list_a:
            answer.insert(0,0)
    return answer

 

 

다른사람 풀이

def solution(h):
    ans = [0] * len(h)
    for i in range(len(h)-1, 0, -1):
        for j in range(i-1, -1, -1):
            if h[i] < h[j]:
                ans[i] = j+1
                break
    return ans

 

다른사람 코드와 비교해보았을떄

얼추 비슷한거 같다 '-';

이중포문 안써보려고 노력했으나 결국... ㅠ