본문 바로가기

코딩테스트 준비/SW Expert Academy

SW Expert Academy [D3-1208] Java 풀이 : [S/W 문제해결 기본] 1일차 - Flatten

[S/W 문제해결 기본] 1일차 - Flatten

 

 

package difficulty.level03;

import java.util.Arrays;
import java.util.Scanner;

public class no1208 {
	
	/**
	 * 1208. [S/W 문제해결 기본] 1일차 - Flatten
	*/
	
	public static void main(String args[]) throws Exception
	{
		Scanner sc = new Scanner(System.in);
		int T = 10;
		
		for(int test_case = 1; test_case <= T; test_case++)
		{
			//주어진 덤프 횟수
			int dump = sc.nextInt();
			//상자 높이 배열 초기화
			int[] box = new int[100];
			for(int i=0; i<100; i++) {
				box[i] = sc.nextInt();
			}
			//덤프 수행
			Arrays.sort(box);
			while(true) {
				
				box[99] -= 1;
				box[0] += 1;
				dump -= 1;
				
				Arrays.sort(box);
				
				if(box[99]-box[0]==0 || box[99]-box[0]==1) {
					System.out.printf("#%d %d\n",test_case,box[99]-box[0]);
					break;
				}else if(dump==0) {
					System.out.printf("#%d %d\n",test_case,box[99]-box[0]);
					break;
				}
			}
			
		}
	}
}

 

이 문제는 Array 문제이다.

 

여기서 중요한건 정렬의 순서이다.

 

dump 수행 후 정렬을 안해줬더니 값이 틀리게 나왔다.

 

조금 생각해보니 dump를 수행하고 정렬을 해줘야 하는 문제였다.

 

문제를 더 집중해서 읽고 풀어봐야한다.

Github 주소

github.com/MIN-04/CodingTest-SWEA/blob/master/DLevel03/no1208.java

 

MIN-04/CodingTest-SWEA

코딩테스트 준비 : SW Expert Academy 문제 풀이. Contribute to MIN-04/CodingTest-SWEA development by creating an account on GitHub.

github.com