๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm

[๋ฐฑ์ค€] 2437๋ฒˆ: ์ €์šธ(๊ทธ๋ฆฌ๋””)

by ์ฃผ๋ฐœ2 2020. 2. 28.
๋ฐ˜์‘ํ˜•

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

 

2437๋ฒˆ: ์ €์šธ

ํ•˜๋‚˜์˜ ์–‘ํŒ” ์ €์šธ์„ ์ด์šฉํ•˜์—ฌ ๋ฌผ๊ฑด์˜ ๋ฌด๊ฒŒ๋ฅผ ์ธก์ •ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ด ์ €์šธ์˜ ์–‘ ํŒ”์˜ ๋์—๋Š” ๋ฌผ๊ฑด์ด๋‚˜ ์ถ”๋ฅผ ์˜ฌ๋ ค๋†“๋Š” ์ ‘์‹œ๊ฐ€ ๋‹ฌ๋ ค ์žˆ๊ณ , ์–‘ํŒ”์˜ ๊ธธ์ด๋Š” ๊ฐ™๋‹ค. ๋˜ํ•œ, ์ €์šธ์˜ ํ•œ์ชฝ์—๋Š” ์ €์šธ์ถ”๋“ค๋งŒ ๋†“์„ ์ˆ˜ ์žˆ๊ณ , ๋‹ค๋ฅธ ์ชฝ์—๋Š” ๋ฌด๊ฒŒ๋ฅผ ์ธก์ •ํ•˜๋ ค๋Š” ๋ฌผ๊ฑด๋งŒ ์˜ฌ๋ ค๋†“์„ ์ˆ˜ ์žˆ๋‹ค. ๋ฌด๊ฒŒ๊ฐ€ ์–‘์˜ ์ •์ˆ˜์ธ N๊ฐœ์˜ ์ €์šธ์ถ”๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, ์ด ์ถ”๋“ค์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธก์ •ํ•  ์ˆ˜ ์—†๋Š” ์–‘์˜ ์ •์ˆ˜ ๋ฌด๊ฒŒ ์ค‘ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฌด๊ฒŒ๊ฐ€ ๊ฐ๊ฐ 3, 1, 6, 2, 7, 30

www.acmicpc.net

์ฝ”๋“œ

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

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int N = scan.nextInt();
		int[] arr = new int[N];
		int sum = 1;	
		for(int i=0; i<N; i++) 
			arr[i] = scan.nextInt();
			
		Arrays.sort(arr);
		for(int i=0; i<arr.length; i++) {
			 if(sum < arr[i])
				 break;
			 sum += arr[i];
		}
		
		System.out.println(sum);
		scan.close();
	}

}

ํ’€์ด

๋ฌธ์ œ๋ฅผ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ์ถ”๋“ค์„ ํ•˜๋‚˜์”ฉ ์žฌ๊ฐ€๋ฉด์„œ ์žด ์ˆ˜ ์—†๋Š” ์ตœ์†Œ๊ฐ’์„ ๊ตฌํ•˜๋Š” ์‹์œผ๋กœ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ํ–ˆ์ง€๋งŒ ๋„ํ†ต ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์„ ๋ชจ๋ฅด๊ฒ ์–ด์„œ ํ’€์ด๋ฅผ ๋ดค๋‹ค.

 

๋ฌธ์ œ์— ์ฃผ์–ด์ง„ ์ž…๋ ฅ์„๋ณด๋ฉด 3 1 6 2 7 30 1 ๊ณผ ๊ฐ™๋‹ค.

์ด ์ˆ˜๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋ฉด 1 1 2 3 6 7 30 <- ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋œ๋‹ค.

 

์ฒซ ๋ฒˆ์งธ ์›์†Œ์ธ 1์€ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ , 

๋‘ ๋ฒˆ์งธ ์›์†Œ์ธ 1์„ ๋ณด๋ฉด 1, 1+1=2 ์ด๋ฏ€๋กœ 1, 2๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

์„ธ ๋ฒˆ์งธ ์›์†Œ์ธ 2๋ฅผ ๋ณด๋ฉด 1, 2, 3, 4๋กœ 1~4๊นŒ์ง€์˜ ๋ชจ๋“  ์ˆ˜๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

๋„ค ๋ฒˆ์งธ ์›์†Œ์ธ 3์„ ๋ณด๋ฉด ์„ธ๋ฒˆ์งธ ์›์†Œ์ธ 2๊นŒ์ง€ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” 1~4์—์„œ 3์„ ๋”ํ•˜๋ฉด 1~7๊นŒ์ง€ ๋ชจ๋“  ์ˆ˜๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

๋‹ค์„ฏ ๋ฒˆ์งธ ์›์†Œ์ธ 6์„ ๋ณด๋ฉด 1~7๊นŒ์ง€์˜ ์ˆ˜์™€ 6์„ ๋”ํ•ด 1~13๊นŒ์ง€ ๋ชจ๋“  ์ˆ˜๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

์—ฌ์„ฏ ๋ฒˆ์งธ ์›์†Œ์ธ 7์„ ์ด์šฉํ•˜๋ฉด 20์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ผ๊ณฑ ๋ฒˆ์งธ ์›์†Œ๋ฅผ ์ด์šฉํ•ด๋„ 21์€ ๋งŒ๋“ค ์ˆ˜ ์—†๋‹ค.

 

ํ˜„์žฌ ์˜ฌ๋ฆฌ๋ ค๋Š” ์ €์šธ์ถ”์˜ ๋ฌด๊ฒŒ๊ฐ€, ์ง€๊ธˆ๊นŒ์ง€ ์˜ฌ๋ฆฐ ์ €์šธ์ถ”์˜ ์ดํ•ฉ๋ณด๋‹ค ์ปค์ง€๋ฉด ์ €์šธ์ถ”์˜ ์ดํ•ฉ์€ ์ธก์ •ํ•  ์ˆ˜ ์—†๋Š” ์ตœ์†Ÿ๊ฐ’์ด๋‹ค.

์ €์šธ์ถ”์˜ ์ดํ•ฉ์„ ์ดˆ๊ธฐ์— 1๋กœ ์„ค์ •ํ•œ ์ด์œ ๋Š”, ์ €์šธ์ถ”์˜ ๋ฌด๊ฒŒ ์ค‘ ๊ฐ€์žฅ ๊ฐ€๋ฒผ์šด๊ฒƒ์ด 1๋ณด๋‹ค ํฌ๋ฉด, 1์€ ์ธก์ •ํ•  ์ˆ˜ ์—†๊ธฐ๋•Œ๋ฌธ์— 1๋กœ ์ดˆ๊ธฐ๊ฐ’์„ ์„ค์ •ํ–ˆ๋‹ค.

 

์‚ฌ์‹ค ์œ„ ํŒŒ๋ž€์ƒ‰์ด ๋ฌธ์ œ์˜ ์ „๋ถ€์ธ๋ฐ, ์œ„์˜ ์กฐ๊ฑด์„ ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•ด์•ผ ํ• ์ง€,, ๋‹ค์Œ์— ๋‹ค์‹œ ํ’€์–ด๋ด๋„ ๋ชปํ’€ ๊ฒƒ ๊ฐ™๋‹ค.

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€