[구름] 레벨2 근묵자흑
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);
}
}