๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/9492)
< Perfect Shuffle >
๋ฌธ์ ํ์ด
์ธ๋ฑ์ค๋ฅผ ํ์ฉํ์ฌ ์ฒ์๊ณผ ์ค๊ฐ๋ถํฐ ํ๋์ฉ ๋ฒ๊ฐ์๊ฐ๋ฉฐ ์ถ๋ ฅํ๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class _9492_ { // Perfect Shuffle
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int num = 0;
while ((num = Integer.parseInt(bf.readLine())) != 0) {
String arr[] = new String[num];
for (int i = 0; i < num; i++) {
arr[i] = bf.readLine();
}
int x = 0, y = -1;
if (num % 2 == 0) {
y = num / 2;
} else {
y = (num / 2) + 1;
}
while (x < (num / 2) || y < num) {
bw.write(arr[x++] + "\n");
bw.write(arr[y++] + "\n");
}
if (num % 2 == 1) {
bw.write(arr[x] + "\n");
}
}
bw.flush();
}
}
๋ณ์)
num : ์นด๋์ ์
arr : ์นด๋ ์ด๋ฆ์ ์ ์ฅํ๋ ๋ฐฐ์ด
x, y : ์ธ๋ฑ์ค
์นด๋ ์ num์ด 0์ด ์๋ ๋๊น์ง ์ ๋ ฅ๋ฐ์ ๋ค์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
1) num๋งํผ ์นด๋ ์ด๋ฆ์ ์ ๋ ฅ๋ฐ์ arr ๋ฐฐ์ด์ ์ ์ฅ
2) ์ธ๋ฑ์ค๋ฅผ 0๊ณผ num/2๋ก ์ง์ (๋ง์ฝ num ๊ฐ์ด ํ์๋ผ๋ฉด (num/2)+1๋ก ์ง์ )
3) ๊ฐ ์ธ๋ฑ์ค์ ํด๋นํ๋ ๋ฐฐ์ด ๊ฐ์ ๋ฒ๊ฐ์๊ฐ๋ฉฐ ์ถ๋ ฅ

'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 8975_PJESMA (0) | 2025.02.26 |
---|---|
[Baekjoon] 14534_String Permutation (0) | 2025.02.25 |
[Baekjoon] 10469_์ฌ์ด ๋์ ์ฌ์๋ค (0) | 2025.02.21 |
[Baekjoon] 3230_๊ธ๋ฉ๋ฌ, ์๋ฉ๋ฌ, ๋๋ฉ๋ฌ์ ๋๊ฐ? (1) | 2025.02.20 |
[Baekjoon] 4446_ROT13 (0) | 2025.02.19 |