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))
프린트문 포맷팅 후 바로 통과.. 하하