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
'SWEA' 카테고리의 다른 글
[SWEA] 1926. 간단한 369 게임 (0) | 2022.01.02 |
---|---|
[SWEA] 1974. 스도쿠 검증 코드 리뷰 (0) | 2021.03.30 |
1225. [파이썬 S/W 문제해결 기본] 7일차 - 암호생성기 (0) | 2021.03.03 |
1224. [파이썬 S/W 문제해결 기본] 6일차 - 계산기3 (2) | 2021.03.03 |
4881. [파이썬 S/W 문제해결 기본] 5일차 - 배열 최소 합 (0) | 2021.03.03 |