본문 바로가기
Problem Solving/boj

[BOJ] 2846. 오르막길(Python)

by chesleashin 2021. 3. 23.

www.acmicpc.net/problem/2846

 

2846번: 오르막길

상근이는 자전거를 타고 등교한다. 자전거 길은 오르막길, 내리막길, 평지로 이루어져 있다. 상근이는 개강 첫 날 자전거를 타고 가면서 일정 거리마다 높이를 측정했다. 상근이는 가장 큰 오르

www.acmicpc.net

브론즈 문제로, 최장 길이를 구하기보다 가장 차이가 많이 나는 오르막길을 구하는 것이다.

이중 for문으로 오르막을 만날 때마다 가장 낮은 부분과 비교해 차이(maxDis)를 갱신해준다.

설명보다 아래 코드를 보는 것이 더 빠른 이해를 도울 것 같다.

 

파이썬 코드는 다음과 같다.


from sys import stdin
input = stdin.readline

N = int(input())
A = list(map(int, input().split()))
maxGap = 0
for i in range(N):
    for j in range(i+1, N):
        if A[j-1] < A[j]:
            maxGap = max(maxGap, A[j]-A[i])
        else:
            break
print(maxGap)

  • 시간 : 108ms / 메모리 : 122244KB
  • 고찰 : 문제이해를 한 번에 못 해서 여러번 틀리고 다시 제대로 이해해서 푼 문제다. 문제 한 번에 잘 이해해서 시간을 단축하자!