SWEA
[SWEA] 1859.백만장자 프로젝트
Toproot
2022. 1. 1. 23:30
728x90
728x90
미래를 보는 원재의 시세차익을 계산해 주는 문제.
처음 문제를 보고 N의 의미가 N개마다 끊어서 미래를 볼 수 있는 줄 알고,
N개씩의 시세차익을 합치는 코드를 짰다.
하지만 계속해서 Fail을 당한 후 다시 문제를 꼼꼼히 검토했고,
리스트의 시세차익을 계산해 주는 calPrice() 클래스를 만들어
TestCase마다 시세차익을 계산하는 알고리즘을 구성했다.
📌 학습한 내용
1. 문제를 꼼꼼히 잘 읽어보자.
2. 클래스를 만들어서 사용하면 매우 편리하다.
3. 앞에서부터 했을 때 막히면, 반대로 생각하는 지혜를 가지기!
TC = int(input())
def calPrice(Days):
MaxNum = Day[-1] # 맨 뒤의 숫자부터 크기 비교
Day.reverse() # 역순으로 바꾼 후 탐색
Value = 0 # 시세차익
for i in Day:
if i > MaxNum:
MaxNum = i
else:
Value += MaxNum - i
return Value
for tc in range(TC):
N = int(input())
Day = list(map(int, input().split()))
Result = 0
Result += calPrice(Day)
print('#{}'.format(tc+1),Result)
728x90
728x90