초보개발자 긍.응.성
[Java] 9088. 다이아몬드 본문
반응형
D4-9088. 다이아몬드
크기에 대해 다이아몬드 갯수 배열에 저장. 합에 대해 왼쪽 끝자리를 빼고 오른쪽 끝자리를 더하며 묶음의 최대 크기를 찾는다.
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.util.Arrays;
import java.util.Scanner;
class Solution {
static int[] diamondsCounter = new int[10001];
public static void main(String args[]) throws Exception {
Scanner sc = new Scanner(System.in);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int T = sc.nextInt();
int N, K;
for (int test_case = 1; test_case <= T; test_case++) {
N = sc.nextInt();
K = sc.nextInt();
Arrays.fill(diamondsCounter, 0);
for (int i = 0; i < N; i++) {
diamondsCounter[sc.nextInt()]++;
}
int max = 0;
for (int j = 1; j <= 1 + K; j++) {
max += diamondsCounter[j];
}
int sum = max;
for (int i = 1; i < diamondsCounter.length - K - 1; i++) {
sum = sum + diamondsCounter[i + K + 1] - diamondsCounter[i];
if (max < sum)
max = sum;
}
bw.write("#" + test_case + " " + max + "\n");
}
sc.close();
bw.flush();
bw.close();
}
}
반응형
'코딩테스트 > SW Expert Academy' 카테고리의 다른 글
[Java] 2382. 미생물 격리 (0) | 2020.04.13 |
---|---|
[Java] 2117. 홈 방범 서비스 (0) | 2020.04.13 |
[Java] 2105. 디저트 카페 (0) | 2020.04.13 |
[Java] 1953. 탈주범 검거 (0) | 2020.04.13 |
[Java] 8998. 세운이는 내일 할거야 (0) | 2020.03.23 |
[Java] 8993. 하지 추측 (0) | 2020.03.23 |
[Java] 8934. 팰린드롬 공포증 (0) | 2020.03.20 |
[Java] 8898. 3차원 농부 (0) | 2020.03.20 |
Comments