본문 바로가기
[ 다먹살 ]/- Coding

[구름] 레벨2 최단거리

by 엉망으로살기 2021. 8. 1.
반응형

https://level.goorm.io/exam/43207/%EC%B5%9C%EB%8B%A8%EA%B1%B0%EB%A6%AC/quiz/1

 

구름LEVEL

코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이

level.goorm.io

 

배열 길이가 최대 100만개라고 나와있어서 for문을 단순하게 두 번 쓰는건 시간 초과가 날 것 같았다. 그래서 생각해보니 정렬을 하고난 후의 배열이라면 어차피 최소값은 배열[현재 인덱스] - 배열[현재 인덱스-1] 의 값이 계속 갱신될 것이기 때문에 한 번의 반복문만 사용해서 해결했다. 어려운 문제는 아니었다.

 

 

import java.util.Scanner;

class Main
{
     public static void main(String[] args) throws Exception
     {
         Scanner sc = new Scanner(System.in);
         int n = sc.nextInt();
          int[] arr = new int[n];

         for(int i=0; i<n; i++)
         {
          arr[i] = sc.nextInt();
         }

         int min = arr[1]-arr[0];

         for(int i=2; i<n; i++)
         {
             min = Math.min(min, arr[i]-arr[i-1]);
         }

         System.out.println(min);
     }
}

반응형

댓글