๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/24755)
< Election Paradox >
๋ฌธ์ ํ์ด
์ ๊ฑฐ์์ ์ง ์ ์๋ ๊ฐ์ฅ ๋ง์ ํ๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ N/2+1๊ฐ์ ๋์์ ์ธ๊ตฌ์๊ฐ ์ ์ ์ง์ญ์์ ์ด๊ธฐ๋ ๊ฒ์ด๋ค.
๋ง์ฝ ์ ๋ ฅ๊ฐ์ด ๋ค์๊ณผ ๊ฐ๋ค๋ฉด
3
11 3 3
3๋ช ์ธ ์ง์ญ์์๋ 1ํ๋ฅผ ์ป๊ณ , 11๋ช ์ธ ์ง์ญ์์๋ 11ํ๋ฅผ ๋ฐ์ผ๋ฉด ๋๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class _24755_ { // Election Paradox
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(bf.readLine());
StringTokenizer st = new StringTokenizer(bf.readLine());
int arr[] = new int[N];
for (int i = 0; i < N; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(arr);
int result = 0;
for (int i = 0; i <= N / 2; i++) {
if (arr[i] % 2 == 0) {
result += arr[i] / 2 - 1;
} else {
result += arr[i] / 2;
}
}
for (int i = N / 2 + 1; i < N; i++) {
result += arr[i];
}
System.out.println(result);
}
}
๋ณ์)
N : ์ง์ญ ์
arr : ๋์ ์ธ๊ตฌ์
result : ์ ๊ฑฐ์์ ์ง ์ ์๋ ๊ฐ์ฅ ๋ง์ ํ
์ง์ญ ์ N์ ์ ๋ ฅ๋ฐ๋๋ค. N๋งํผ ๋์ ์ธ๊ตฌ์๋ฅผ ์ ๋ ฅ๋ฐ์ arr์ ์ ์ฅํ๋ค. arr์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค.
1) ์์์๋ถํฐ N/2+1๊ฐ ์ง์ญ์์๋ ์ ๊ฑฐ์์ ์ ธ์ผ ํ๋ฏ๋ก ์ ๋ฐ๋ณด๋ค ์ ๊ฒ ํ๋ฅผ ์ป๋๋ค.
2) ๋จ์ ์ง์ญ์์๋ ์ด๊ฒจ์ผ ํ๋ฏ๋ก ๋ชจ๋ ํ๋ฅผ ์ป๋๋ค.
์ต์ข result๋ฅผ ์ถ๋ ฅํ๋ค.

'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 14184_IOI 2017 Logo (0) | 2025.04.01 |
---|---|
[Baekjoon] 5614_ๅ้ก 3 (0) | 2025.03.31 |
[Baekjoon] 23895_Allocation (0) | 2025.03.26 |
[Baekjoon] 6566_์ ๋๊ทธ๋จ ๊ทธ๋ฃน (0) | 2025.03.25 |
[Baekjoon] 11597_Excellence (0) | 2025.03.24 |