초보개발자 긍.응.성
[Java] 9088. 다이아몬드 본문
반응형
D4-9088. 다이아몬드
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
크기에 대해 다이아몬드 갯수 배열에 저장. 합에 대해 왼쪽 끝자리를 빼고 오른쪽 끝자리를 더하며 묶음의 최대 크기를 찾는다.
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