향후 n년 간의 자동차 가격 정보가 미리 주어졌을 때, 자동차를 단 한 번 사서 되팔 때의 이익을 최대화하고자 합니다. 낼 수 있는 최대 이익을 출력하는 프로그램을 작성해보세요. 단, 자동차를 사기 전에는 팔 수 없습니다.
# 해설 1 --------------------------------------------
# 변수 선언 및 입력:
n = int(input())
price = list(map(int, input().split()))
# 배열을 앞에서부터 순회하며 사는 시점의 후보를 선택합니다
max_profit = 0
for i in range(n):
# 사는 시점의 다음 해부터 순회하며 파는 시점의 후보를 선택합니다
for j in range(i + 1, n):
profit = price[j] - price[i]
if profit > max_profit:
max_profit = profit
print(max_profit)
# 해설 2 --------------------------------------------
# 변수 선언 및 입력:
n = int(input())
price = list(map(int, input().split()))
# 배열을 앞에서부터 순회하며 최소값을 갱신해줍니다.
# 각 원소에 대하여 해당 시점의 최소값과의 차이가
# 최대가 될 때를 갱신해줍니다.
max_profit = 0
min_price = price[0]
for i in range(n):
profit = price[i] - min_price
# 답을 갱신해줍니다.
if profit > max_profit:
max_profit = profit
# 지금까지의 최솟값을 갱신해줍니다.
if min_price > price[i]:
min_price = price[i]
print(max_profit)
# 나의 풀이 -------------------------------------
n = int(input())
arr = list(map(int, input().split()))
benefit = 0
for i in range(n):
for j in range(i+1, n):
if benefit < arr[j] - arr[i]:
benefit = arr[j] - arr[i]
print(benefit)
'Python > [코드트리]' 카테고리의 다른 글
[코드트리] Min/Max > 가장 왼쪽에 있는 최댓값(★) (0) | 2023.07.02 |
---|---|
[코드트리] Min/Max > 두 숫자의 차의 최솟값 (0) | 2023.07.02 |
[코드트리] Min/Max > 500 근처의 수 (0) | 2023.07.02 |
[코드트리] Min/Max > 중복되지 않는 숫자 중 최대(★) (0) | 2023.07.02 |
[코드트리] Min/Max > 999 또는 -999 (0) | 2023.07.02 |