문제 : https://www.acmicpc.net/problem/12788
12788번: 제 2회 IUPC는 잘 개최될 수 있을까?
2016년 5월 28일 제 2회 인하대학교 프로그래밍 경시대회(IUPC)가 개최된다. 이 대회는 다른 프로그래밍 경시대회와 다르게 손코딩으로 문제를 풀어야한다. CTP회장인 정은이는 모든 대회 참가자들
www.acmicpc.net
문제 요약 : 모든 팀의 팀원에게 펜을 줄 때 펜을 빌려야 할 회원 최소 수 계산
| 입력 | 출력 |
| 1 ≤ N(회원) ≤ 1000 1 ≤ M(팀) ≤ 1000 1 ≤ K(팀원) ≤ 10 0 ≤ A(회원의 펜) ≤ 100 |
펜을 빌린 회원의 수 출력 (펜이 부족할경우 "STRESS" 출력) |
JAVA
소스코드 : https://github.com/cbkpar/BOJ/blob/main/boj_12788.java
| 채점 번호 | 아이디 | 문제 번호 | 결과 | 메모리 | 시간 | 언어 | 코드 길이 |
| 31094124 | cbkpar | 12788 | 맞았습니다!! | 14340KB | 144ms | Java 11 | 827B |
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Collections;
import java.util.StringTokenizer;
public class Main {
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n,m,i;
n = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine());
m = Integer.parseInt(st.nextToken());
m *= Integer.parseInt(st.nextToken());
Integer[] arr = new Integer[n];
st = new StringTokenizer(br.readLine());
for(i=0;i<n;i++) arr[i] = Integer.parseInt(st.nextToken());
Arrays.sort(arr,Collections.reverseOrder());
for(i=0;i<n;i++) {
m -= arr[i];
if(m<=0) break;
}
System.out.println(i==n?"STRESS":(i+1));
}
}
필요 한 펜의 수 : 팀의 수 * 팀원의 수
따라서 회원이 가지고 있는 펜의수를 내림차순 정렬하여
필요한 펜의 수를 충족하는지 확인하면 된다.
'백준온라인' 카테고리의 다른 글
| [백준온라인] 12018번 Yonsei TOTO (0) | 2021.07.28 |
|---|---|
| [백준온라인] 11441번 합 구하기 (0) | 2021.07.27 |
| [백준온라인] 2852번 NBA 농구 (0) | 2021.07.25 |
| [백준온라인] 12791번 Starman (0) | 2021.07.24 |
| [백준온라인] 12778번 CTP공국으로 이민 가자 (0) | 2021.07.23 |