๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/5747)
< Odd or Even >
๋ฌธ์ ํ์ด
๋ฉ๋ฆฌ๊ฐ ํ์คํ ์ด๊ธด ์ต์ ๊ฒ์ ํ์๋ฅผ ๊ตฌํ๊ธฐ ์ํด์๋ ์ง์๊ฐ ๋์ฌ ์ ์๋ ์ต์ ๊ฒฝ์ฐ๋ฅผ ๊ตฌํ๋ฉด ๋๋ค.
์ง + ์ง = ์ง
์ง + ํ = ํ
ํ + ํ = ์ง
์ด๋ฏ๋ก ํ์๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ด ๋ ๋น ๋ฅด๋ฏ๋ก (์ ์ฒด ๊ฒ์ ์ - ํ์)๋ฅผ ๊ตฌํ๋ฉด ๋๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class _5747_ { // Odd or Even
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int n = 0;
while ((n = Integer.parseInt(bf.readLine())) != 0) {
int xOdd = 0, xEven = 0;
st = new StringTokenizer(bf.readLine());
for (int i = 0; i < n; i++) {
int num = Integer.parseInt(st.nextToken());
if (num % 2 == 0) {
xEven += 1;
} else {
xOdd += 1;
}
}
int yOdd = 0, yEven = 0;
st = new StringTokenizer(bf.readLine());
for (int i = 0; i < n; i++) {
int num = Integer.parseInt(st.nextToken());
if (num % 2 == 0) {
yEven += 1;
} else {
yOdd += 1;
}
}
bw.write(n - (Math.min(xEven, yOdd) + Math.min(xOdd, yEven)) + "\n");
}
bw.flush();
}
}
๋ณ์)
n : ๊ฒ์ ์
xOdd, xEven : Mary๊ฐ ๋ธ ๊ฐ ์ค ํ์, ์ง์ ๊ฐ์
yOdd, yEven : John์ด ๋ธ ๊ฐ ์ค ํ์, ์ง์ ๊ฐ์
0์ด ์๋ ๋๊น์ง ๊ฒ์ ์๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ค์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
1) ๊ฒ์ ์๋งํผ Mary์ John์ ์๊ฐ๋ฝ ์๋ฅผ ์ ๋ ฅ๋ฐ์ ํ์, ์ง์ ๊ฐ์๋ฅผ ๊ตฌํ๋ค.
2) n - (Math.min(xEven, yOdd) + Math.min(xOdd, yEven))์ ์ถ๋ ฅํ๋ค.

'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Baekjoon] 9794_Another Word Sorting (0) | 2025.10.30 |
|---|---|
| [Baekjoon] 4676_Haiku Review (0) | 2025.10.29 |
| [Baekjoon] 5599_ใซใผใใฎไธฆใณๆฟใ (0) | 2025.10.16 |
| [Baekjoon] 5591_ๆๅคงใฎๅ (0) | 2025.10.13 |
| [Baekjoon] 4962_Next Mayor (0) | 2025.10.02 |