ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [cospro] 언제까지 오르막길이야
    Algorithm 2022. 2. 18. 16:15
    02 COS PRO 1급 JAVA 2차
    100%
    [2차] 문제5) 언제까지 오르막길이야..?! - JAVA
     
    실습 내용

    □ 문제설명

    자연수가 들어있는 배열이 있습니다. 이 배열에서, 숫자가 연속해서 증가하는 가장 긴 구간의 길이를 구하려 합니다. 단, 바로 전 숫자와 현재 숫자가 같은 경우는 증가한 것으로 보지 않습니다.
    예를 들어 배열에 순서대로 [3, 1, 2, 4, 5, 1, 2, 2, 3, 4]가 들어있는 경우, [1, 2, 4, 5]가 들어있는 구간이 숫자가 연속해서 증가한 가장 긴 구간이며, 길이는 4입니다.
    자연수가 들어있는 배열 arr와 arr의 길이 arr_len이 매개변수로 주어질 때, 숫자가 연속해서 증가하는 가장 긴 구간의 길이를 return 하도록 solution 함수를 완성해주세요.

    □ 매개변수 설명

    자연수가 들어있는 배열 arr와 arr의 길이 arr_len이 solution 함수의 매개변수로 주어집니다.
    • arr_len은 2 이상 200,000 이하입니다.
    • arr의 원소는 1 이상 1,000,000 이하의 자연수입니다.

    □ return 값 설명

    숫자가 연속해서 증가하는 가장 긴 구간의 길이를 return 해주세요.
    • 길이가 2 이상인 증가하는 구간이 없다면 1을 return 해주세요.

    □ 예시

    arr arr_len return
    [3, 1, 2, 4, 5, 1, 2, 2, 3, 4] 10 4

    □ 예시설명

    숫자 [1, 2, 4, 5]가 들어있는 구간이 숫자가 연속해서 증가하는 가장 긴 구간이며, 길이는 4입니다.

    현재 숫자가 바로 이전 숫자와 같은 경우에는 증가했다고 보지 않습니다. [1, 2, 2, 3, 4]가 들어있는 구간은 [2, 2]가 연속해서 증가한 부분이 아니므로, [1, 2]가 들어있는 구간과 [2, 3, 4]가 들어있는 구간으로 나누어야 합니다.

     

    package com.example.codingtest.cospro.second;
    
    public class 언제까지오르막길이야 {
        public static void main(String[] args) {
            int[] arr = {3, 1, 2, 4, 5, 1, 2, 2, 3, 4};
            System.out.println(solution(arr));
        }
    
        public static int solution(int[] arr){
            int answer = 0;
            int index = 1;
            int previousNumber = arr[0];
            //int[] arr = {3, 1, 2, 4, 5, 1, 2, 2, 3, 4};
    
            for(int i = 1; i < arr.length; i++){
                if(arr[i] > previousNumber) {
                    index++;
                } else {
                    answer = Math.max(answer, index);
                    index = 1;
                }
                previousNumber = arr[i];
            }
    
            return answer;
        }
    }

    'Algorithm' 카테고리의 다른 글

    [cospro] 체스의 나이트  (0) 2022.02.18
    [cospro] 소용돌이 수  (0) 2022.02.18
    [cospro] 합이 k가 되는 배수  (0) 2022.02.18
    [JAVA] 다트게임  (0) 2022.02.13
    [JAVA] 거리두기 확인하기  (0) 2022.02.12
Designed by Tistory.