알고리즘/SWEA

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

  • -
반응형

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

 

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;

// TODO: https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5LsaaqDzYDFAXc&categoryId=AV5LsaaqDzYDFAXc&categoryType=CODE
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

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

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