백준

백준 2846 오르막길(Java)

Park DJ 2023. 1. 17. 01:50

https://www.acmicpc.net/problem/2846

 

2846번: 오르막길

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

www.acmicpc.net


 

해석 및 팁

 


 

이문제는 주어진 값을 배열에 저장하여 앞의값보다 뒤의값이 크면 그 차이를 비교해서 가장 큰 수를 구하면 됩니다. 오르막길이 아닌경우에는 0으로 초기화시켜주면 됩니다.

 

 


 

Java 코드

 


import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int n = sc.nextInt();
    int[] arr = new int[n];
    int max = 0;
    int sum = 0;

    for(int i = 0; i < n; i++) {
      arr[i]= sc.nextInt();
    }
    
    for(int i = 0; i < n-1; i++) {
      if(arr[i] < arr[i+1]) sum += arr[i+1] - arr[i];     //증가하면 그값만큼 더하기
      else sum = 0;
      max = Math.max(max, sum);                           //가장 큰 오르막길 구하기
    }
    System.out.println(max);
  }
}