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();
}
}
}
}
반응형