[SWEA] #1208 Flatten
Link
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV139KOaABgCFAYh&categoryId=AV139KOaABgCFAYh&categoryType=CODE
Code
import java.util.Scanner;
class Solution {
public static void main(String args[]) throws Exception {
Scanner sc = new Scanner(System.in);
for (int testCase = 1; testCase <= 10; testCase++) {
int num = sc.nextInt();
int[] height = new int[100];
int min = 101;
int max = -1;
for (int i = 0; i < 100; i++) {
int temp = sc.nextInt();
height[temp - 1]++;
if (temp < min) {
min = temp;
}
if (max < temp) {
max = temp;
}
}
for (int i = 0; i < num; i++) {
height[max - 1]--;
height[max - 2]++;
if (height[max - 1] <= 0) {
max--;
}
height[min - 1]--;
height[min]++;
if (height[min - 1] <= 0) {
min++;
}
}
System.out.printf("#%d %d\n", testCase, max - min);
}
}
}
Solution
タイル高さの値は、高さ
인덱스
あたりの箱の山数です.num回数
주어진 덤프 횟수
、ドアを回転させながら以下の手順を繰り返すheightのmax-1を減算してmax-2に加算
ex)高さ7の箱の中で平坦化すると、高さ6の箱の山となる
max-1の値が0未満の場合、
높이 max인 상자더미가 없으면
maxの値が減少します.heightのmin-1値を減算し、minに加算
ex)高さ0の箱で平坦化すると、高さ1の箱の山となる.
min-1値が0未満の場合は
높이 min인 상자더미가 없으면
min増加最終出力最大最小値
Reference
この問題について([SWEA] #1208 Flatten), 我々は、より多くの情報をここで見つけました https://velog.io/@kwonsc/SWEA-1208-Flattenテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol