๐ ์ฝ๋ฉํ
์คํธ/๋ฐฑ์ค & ํ๋ก๊ทธ๋๋จธ์ค
[SWEA][JAVA]D3 : ํผํํธ ์ ํ
deep_lee
2022. 11. 14. 14:47
https://swexpertacademy.com/main/code/problem/problemSolver.do?contestProbId=AWGsRbk6AQIDFAVW
SW Expert Academy
SW ํ๋ก๊ทธ๋๋ฐ ์ญ๋ ๊ฐํ์ ๋์์ด ๋๋ ๋ค์ํ ํ์ต ์ปจํ ์ธ ๋ฅผ ํ์ธํ์ธ์!
swexpertacademy.com
๊นจ๋ํ๊ฒ ํผ๊ฑฐ๊ฐ์ง ์์๋ฐ
๋์ถฉ ํผ ๋ก์ง์
๋ฌธ์์ด์ ์ ๋ ฅ๋ฐ๊ณ ๋์ ๋ฐ์ ์ ๊ธฐ์ค์ผ๋ก Q1, Q2 ์ ๋๋๊ณ
์ ๋ต์ผ๋ก ์ถ๋ ฅํ arraylist์ Q1, Q2์ ์๋ ๊ฐ๋ค์ ์์๋๋ก ๋ฃ์ผ๋ฉด์ ํ๊ฐ ๋น์ด์ง๋ฉด stop..
import java.util.Scanner;
import java.util.*;
class Solution{
public static void main(String args[]) throws Exception{
Scanner kb = new Scanner(System.in);
int T = kb.nextInt();
for (int t = 1; t <= T; t++) {
int n=kb.nextInt();
String[] arr=new String[n];
for(int i=0; i<n; i++) arr[i]=kb.next();
Queue<String> Q1=new LinkedList<>();
Queue<String> Q2=new LinkedList<>();
if(n%2==0){
for(int i=0; i<n/2; i++) Q1.offer(arr[i]);
for(int i=n/2; i<n; i++) Q2.offer(arr[i]);
}
if(n%2==1){
for(int i=0; i<(n/2)+1; i++) Q1.offer(arr[i]);
for(int i=n/2+1; i<n; i++) Q2.offer(arr[i]);
}
int size=Math.max(Q1.size(), Q2.size());
ArrayList<String> answer=new ArrayList<>();
for(int i=0; i<size; i++){
if(!Q1.isEmpty()){
answer.add(Q1.poll());
}
if(!Q2.isEmpty()){
answer.add(Q2.poll());
}
}
System.out.print("#"+t);
for(int i=0; i<n; i++){
System.out.print(" "+answer.get(i));
}
System.out.println();
}
}
}