본문으로 바로가기

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWgv9va6HnkDFAW0 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 


 

import java.util.*;
import java.io.*;

public class Solution {
	
	private static boolean[] numCheck;
	private static int[] kyuCard;
	private static int[] lastCard;
	private static int[] InCard;
	private static int kyuWin;
	private static int kyuLose;

	static boolean[] isSelected;
	
	public static void permutation (int cnt) { // 인영이 카드 배열하기 -> 순열
		if (cnt == 9) {
			score();
			return;
		}
		
		for (int i = 0; i < 9; i++) {
			if (isSelected[i])
				continue;
			
			InCard[cnt] = lastCard[i];
			isSelected[i] = true;
			
			permutation(cnt + 1);
			isSelected[i] = false;
		}
	}
	
    
	public static void score() { // 점수 비교
		int kyuScore = 0;
		int InScore = 0;
		
		for (int i = 0; i < 9; i++) {
			if (kyuCard[i] > InCard[i])
				kyuScore += kyuCard[i] + InCard[i];
			else if (kyuCard[i] < InCard[i])
				InScore += kyuCard[i] + InCard[i];
		}
		
		if(kyuScore > InScore) // 규영이 점수가 더 높은 경우
			kyuWin += 1;
		else if(kyuScore < InScore) // 인영이 점수가 더 높은 경우
			kyuLose += 1;
	}

	
	public static void main(String[] args) throws IOException {
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		
		int T = Integer.parseInt(st.nextToken());
		for (int t = 1; t <= T; t++) {
			st = new StringTokenizer(br.readLine(), " ");
			
			kyuCard = new int[9];
			numCheck = new boolean[19];
			for (int i = 0; i < kyuCard.length; i++) { // 규영이 카드
				kyuCard[i] = Integer.parseInt(st.nextToken());
				numCheck[kyuCard[i]] = true;
			}
			
			lastCard = new int[9];
			int index = 0;
			for (int i = 1; i < 19; i++) { // 인영이 카드
				if (!numCheck[i])
					lastCard[index++] = i;
			}
				
			kyuWin = 0;
			kyuLose = 0;

			isSelected = new boolean[9];
			InCard = new int[9];
			permutation(0);
			
			System.out.println("#" + t + " " + kyuWin + " " + kyuLose);
		}
	}
}