[ 다먹살 ]/- Coding

[구름] 레벨2 근묵자흑

엉망으로살기 2021. 9. 3. 16:38
반응형

https://level.goorm.io/exam/47881/%EA%B7%BC%EB%AC%B5%EC%9E%90%ED%9D%91/quiz/1

 

구름LEVEL

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

level.goorm.io

 

 

문제

 

 

입출력 제한 및 테스트케이스

 

 

코드

import java.util.Scanner;
import java.util.Arrays;

class Main 
{
     // 반복문 종료조건 설정(배열값이 전부 똑같은지 확인)
     public static boolean chk(int a, int b)
     {
         return a==b?true:false;
     }

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

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

         // 조건 확인 전 배열 정렬
         Arrays.sort(arr);

         while(!chk(arr[0], arr[n-1]))
         {
              int index = 0;
              int loop = 1;

              // 배열의 첫번째 값과 다른 값이 있는지 확인
              for(int i=1; i<n; i++)
              {
                   if(arr[0]!=arr[i])
                   {
                        index = i;
                        break;
                   }
              }

              // 배열의 첫 번째 값으로 전체 설정(설정 반복은 최대 k까지)
              while(index<n && loop<k)
              {
                   arr[index] = arr[0];
                   loop++;
                   index++;
              }

              cnt++;
         }

         System.out.println(cnt);
     }
}

 

반응형