CodingTest/SW Expert Academy

[ SW Expert Academy ] 1859. 백만 장자 프로젝트

EEOOOO 2022. 11. 4. 14:16

 

일단 플랫폼 바뀌어서 적응하는 데에 시간이 좀 소요됐다 ... ㅠㅜㅜ 들여쓰기가 조금 불편하다..

 

T = int(input())
# 여러개의 테스트 케이스가 주어지므로, 각각을 처리합니다.
for test_case in range(1, T + 1):
    n = int(input())
    answer = 0
    prices = list(map(int, input().split()))
    target = max(prices)
    cart = []
    for price in prices:
        if not cart:
            cart.append(price)
        else:
            if cart[-1] < price:
                print(price, 'price')
                while cart:
                    print(cart[-1], end=" ")
                    answer += price - cart.pop()
        print(" ")
    print(answer)

음 문제를 잘 못 파악해서 원치 않는 값이 나왔다.

최대 이익을 내야하는게 문제의 목적인데, 이익을 내기만 하면 일단 팔아버리게 설정해서

원하는 값보다 결과가 작게 나왔다.

문제 파악하고 수정했다.

 

T = int(input())
# 여러개의 테스트 케이스가 주어지므로, 각각을 처리합니다.
for test_case in range(1, T + 1):
    n = int(input())
    answer = 0
    prices = list(map(int, input().split()))
    target = max(prices)
    cart = []
    for i in range(len(prices)):
        if prices[i] == target:
            while cart:
                answer += prices[i] - cart.pop()
            if i != len(prices)-1:
                target = max(prices[i+1:])
        else:
            cart.append(prices[i])
    print(answer)

분명 테케 다 맞았는데 

제출해보니 0 / 10 개 맞았다고 하더라.. 이해가 안 돼.. 왜..?ㅠㅜ

라고해서 자세히 보니까

 

출력문 형식대로 뽑아줘야했다.. ㅜㅠ 

    print('#{} {}'.format(test_case,answer))

프린트문 포맷팅 후 바로 통과.. 하하