강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

김한선님의 프로필 이미지
김한선

작성한 질문수

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

6. 가장 높은 탑 쌓기(LIS응용)

이 코드는 맞을까요?!

작성

·

286

0

이렇게 풀어도 채점에서는 다 맞는데 이렇게 풀어도 괜찮을까요?

```py
if __name__=="__main__" :
    n = int(input())
    arr = [list(map(int,input().split())) for _ in range(n)]
    
    # 넓이는 신경 안써도 된다. 
    arr.sort(key = lambda x : x[0],reverse= True)
    dp =[0]*n
    dp[0] = arr[0][1]
    for i in  range(1,n) :
        for j in range(i) :
            # 무게가 더 무겁고 
            if arr[i][2]<arr[j][2] and dp[i] < dp[j]+arr[i][1] :
                dp[i] = dp[j]+arr[i][1]
            else :
                if dp[i] == 0 :
                    dp[i] = arr[i][1]
    print(max(dp))
```

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

네. 잘하셨습니다.

김한선님의 프로필 이미지
김한선

작성한 질문수

질문하기