728x90
문제
https://www.acmicpc.net/problem/1417
풀이
쉬운 문제임
for문을 돌면서 후보자들 중 가장 많은 표를 가지고 있는 후보자를 찾고 그 표가 다솜이의 표보다 많다면 그 후보자의 표를 -1 해주고 다솜이의 표를 +1 해준다.
while(true){ ] 안에서 다솜이의 표가 다른 후보자들의 표보다 많아질 때까지 정답에 해당하는 로직을 반복하면 된다.
진짜 이게 끝임!
코드
// 1417번 국회의원 선거
// https://www.acmicpc.net/problem/1417
package BAEKJOON;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Num1417_국회의원선거 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[] arr = new int[N - 1];
int count = 0;
int dasom = Integer.parseInt(br.readLine());
for (int i = 0; i < arr.length; i++) {
arr[i] = Integer.parseInt(br.readLine());
}
while (true) {
int max = Integer.MIN_VALUE;
int maxIndex = -1;
for (int i = 0; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
maxIndex = i;
}
}
if (dasom <= max) {
arr[maxIndex]--;
dasom++;
count++;
} else {
break;
}
}
System.out.println(count);
}
}
728x90