취뽀 기록

#열심히 살자 #취업 #공부

Python/[코드트리]

[코드트리] Min/Max > 자동차 단일 거래 이익 최대화하기(★)

hyunnn_00 2023. 7. 2. 16:01
향후 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)