알고리즘/SWEA

D3 1860. 진기의 최고급 붕어빵

  • -
반응형

https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5LsaaqDzYDFAXc

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

www.swexpertacademy.com

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;


public class Solution {
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int T = Integer.parseInt(br.readLine());
		StringBuilder sb = new StringBuilder();
		for(int t=1; t<=T; t++) {
			StringTokenizer tokens = new StringTokenizer(br.readLine());

			int N = Integer.parseInt(tokens.nextToken()); // 방문자수
			int M = Integer.parseInt(tokens.nextToken()); // M초에 걸쳐
			int K = Integer.parseInt(tokens.nextToken()); // K개 완성
			int [] arriveTime = new int[N];

			tokens = new StringTokenizer(br.readLine());
			for(int i=0; i<N; i++) {
				//int idx = scanner.nextInt();
				arriveTime[i] = Integer.parseInt(tokens.nextToken());// 도착 시간
			}
			Arrays.sort(arriveTime);

			// 입력 처리 완료!
			String result = "Possible";
			for(int i=1; i<=N; i++) {
				int time = arriveTime[i-1];
				int bread = time/M*K-i;			// 해당시점의 사람 수(i)만큼 빵을 사감
				if(bread<0) {
					result = "Impossible";
					break;
				}
			}
			sb.append(String.format("#%d %s%n",t, result));
		}
		System.out.println(sb);
	}
	static String src = "4\r\n" +
			"2 2 2\r\n" +
			"3 4\r\n" +
			"2 2 2\r\n" +
			"1 2\r\n" +
			"2 2 1\r\n" +
			"4 2\r\n" +
			"2 2 1\r\n" +
			"3 2";
}
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.