๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 9492_Perfect Shuffle

๋ฟŒ์•ผ._. 2025. 2. 24. 16:02
๋ฌธ์ œ(์ถœ์ฒ˜: 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) ๊ฐ ์ธ๋ฑ์Šค์— ํ•ด๋‹นํ•˜๋Š” ๋ฐฐ์—ด ๊ฐ’์„ ๋ฒˆ๊ฐˆ์•„๊ฐ€๋ฉฐ ์ถœ๋ ฅ