article thumbnail image
Published 2022. 11. 17. 22:45


package test;

import java.io.IOException;
import java.util.Scanner;

public class Solution {

	public static void main(String[] args) throws IOException {

		Scanner sc = new Scanner(System.in);

		int test = 10;

		for (int k = 0; k < test; k++) {

			int[] array = new int[100];

			int repeat = sc.nextInt();

			int min = 1000;
			int minbun = 0;
			int max = 0;
			int maxbun = 0;

			for (int i = 0; i < 100; i++) {
				array[i] = sc.nextInt();

			}
			for (int j = 0; j < repeat; j++) {
				
				for (int i = 0; i < 100; i++) {
					if (array[i] <= min) {
						min = array[i];
						minbun = i;
					}
					if (array[i] >= max) {
						max = array[i];
						maxbun = i;
					}
				}

				min++;
				max--;
				array[minbun]=min;
				array[maxbun]=max;

				//System.out.println("min: " + min +  "  max: " + max );
			
			}
			
			for (int i = 0; i < 100; i++) {
				if (array[i] <= min) {
					min = array[i];
				}
				if (array[i] >= max) {
					max = array[i];

				}
			}


			System.out.println("#" + (k + 1) + " "+(max-min));

		}
	}

}

 

마지막으로 정렬한번 더 해서 min / max 를 구해야한다.

 

sort 를 사용하면 더 쉽게 구할 수 있었다.

'알고리즘(종합) > Lv.3' 카테고리의 다른 글

1225 - 암호생성기  (0) 2022.11.18
1209 - sum  (0) 2022.11.18
1244. 최대 상금  (0) 2022.11.16
1289 - 원재의 메모리 복구하기  (0) 2022.11.14
1206 - View 조망권  (0) 2022.11.14
복사했습니다!