본문 바로가기
백준/출제한 문제들

[백준] 25496번 : 장신구 명장 임스

by lms0806 2022. 10. 25.
728x90
반응형

https://www.acmicpc.net/problem/25496

 

25496번: 장신구 명장 임스

첫 번째 줄에 정수 $P$와 정수 $N$이 공백으로 구분되어 주어진다. ($1 \le P \le 200$, $1 \le N \le 1\,000$) 두 번째 줄에는 정수 $A_1, A_2, \dots, A_N$이 공백으로 구분되어 주어진다. ($1 \le A_i \le 200$)

www.acmicpc.net

메이플스토리의 전문기술 장신구 제작관련해서 출제한 문제입니다.

 

"피로도가 200미만일 경우 어떠한 물건도 제작가능하다"라는 사실만 잘 이해하시고 푸시면 되는 문제입니다.

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

public class Main {
	static int[] arr;
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
		StringTokenizer st = new StringTokenizer(br.readLine());
		
		int p = 200 - Integer.parseInt(st.nextToken()), n = Integer.parseInt(st.nextToken());
		
		arr = new int[n];
		st = new StringTokenizer(br.readLine());
		for(int i = 0; i < n; i++) {
			arr[i] = Integer.parseInt(st.nextToken());
		}
		
		Arrays.sort(arr);
		
		System.out.print(solve(n, p));
	}
	
	public static int solve(int n, int p) {
		for(int i = 0; i < n; i++) {
			if(p <= 0) {
				return i;
			}
			p -= arr[i];
		}
		return n;
	}
}
728x90
반응형

댓글