시뻘건 개발 도전기

[2437번] 저울 본문

Business logic/백준

[2437번] 저울

시뻘건볼때기 2020. 4. 19. 17:19
반응형

문제 기출 : [https://www.acmicpc.net/problem/2437]

 

 

풀이 방법

[그리디알고리즘] 접근

 

정답 비율이 37%라서 겁먹었지만 아주 쉬운 문제다.

 

최소값을 구하라고 했으니까 당연하게도 오름차순으로 정렬이 우선이다.

그래서 작은 무게의 추를 먼저 가지고 와서 체크를 할꺼다.

 

새로운 추를 가지고 왔는데 만약 이 새로운 무게가 저울의 (무게의 합 + 1)보다 크면 저울의 (무게의 합 + 1)이 최소값이 될 수 밖에 없다.

 

문제 풀이

public class Main {
	public static void main(String[] args) {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int answer = 0;

		try {
			int N = Integer.parseInt(br.readLine());
			StringTokenizer tokens = new StringTokenizer(br.readLine(), " ");
			int[] weights = new int[N];
			
			int i = -1;
			
			while (tokens.hasMoreTokens()) {
				i++;
				weights[i] = Integer.parseInt(tokens.nextToken());
			}
			
			Arrays.sort(weights);
			
			for(int weight : weights) {
				if(answer + 1 < weight) {
					break;
				}
				answer += weight;
			}
			
			System.out.println(answer + 1);
            
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				br.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}
반응형

'Business logic > 백준' 카테고리의 다른 글

[1343번] 폴리오미노  (0) 2020.04.22
[1543번] 문서검색  (0) 2020.04.19
[2529번] 부등호  (0) 2020.04.16
[2352번] 반도체 설계  (0) 2020.04.15
[2217번] 로프  (0) 2020.04.15
Comments