SWEA - 3499 : 퍼펙트 셔플 [자바]

HungAh.log·2021년 8월 12일
0

SWEA 문제풀이 - 자바

목록 보기
12/22
import java.io.*;
import java.util.*;

class Solution {
	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		int T = Integer.parseInt(br.readLine()); // 테스트 케이스 수

		for (int test_case = 1; test_case <= T; test_case++) {
			int n = Integer.parseInt(br.readLine()); // 카드 갯수

			StringTokenizer st = new StringTokenizer(br.readLine());
			Queue<String> a = new LinkedList<String>();
			Queue<String> b = new LinkedList<String>();

			// n/2 + n%2
			if (n % 2 == 0) {
				for (int i = 0; i < n / 2; i++) {
					a.offer(st.nextToken());
				}
				for (int i = 0; i < n / 2; i++) {
					b.offer(st.nextToken());
				}

			} else {// 홀수개이면 가운데 꺼가 마지막으로 들어감
				for (int i = 0; i < n / 2 + 1; i++) {
					a.offer(st.nextToken());
				}
				for (int i = 0; i < n / 2; i++) {
					b.offer(st.nextToken());
				}

			}

			sb.append("#").append(test_case).append(" ");
			while (true) {
				if (!a.isEmpty() || !b.isEmpty()) {
					if (!a.isEmpty()) {
						sb.append(a.poll()).append(" ");
					}
					if (!b.isEmpty()) {
						sb.append(b.poll()).append(" ");
					}
				} else
					break;
			}
			sb.append("\n");
		}
		System.out.println(sb);
		br.close();
	}
}
profile
👩🏻‍💻

0개의 댓글