[알고리즘]/백준

자바 - 구현 - 백준 14696 딱지놀이

broship 2021. 3. 1. 12:26

문제


 

 

 

문제해결


import java.util.Scanner;

public class B14696 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int round = sc.nextInt();//총 라운드 수
		
		for(int i=0;i<round;i++) {
			int a = sc.nextInt();//A 딱지 수
			int[] arrA = new int[a];//딱지 종류
			for(int j=0;j<a;j++) arrA[j]=sc.nextInt();
			
			int b = sc.nextInt();//B 딱지 수
			int[] arrB = new int[b];//딱지 종류
			for(int j=0;j<b;j++) arrB[j]=sc.nextInt();
			
			int draw = 0;
			for(int j=4;j>0;j--) {//별부터 세모까지 차례대로 비교
				int cntA = 0;
				int cntB = 0;
				
				for(int k=0;k<a;k++)
					if(arrA[k]==j) cntA++;
				
				for(int k=0;k<b;k++)
					if(arrB[k]==j) cntB++;
				
				if(cntA==cntB) {//같으면 다음 모양 비교
					draw++;//draw가 4개면 비김
					continue;
				}
				
				if(cntA>cntB) {
					System.out.println("A");
					break;
				} else {
					System.out.println("B");
					break;
				}
			}
			if(draw==4) System.out.println("D");
		}
	}
}

- 내가 푼건 예제는 맞았는데 제출하니 틀렸다고 한다, 아무리 찾아봐도 모르겠어서 구글링...

1. 총 라운드 수를 입력받고, 라운드 수만큼 반복문을 돌린다

2. a의 딱지 수를 입력받고, 딱지 수만큼 반복문을 돌려 각 딱지 모양을 받는다

3. b의 딱지 수를 입력받고, 딱지 수만큼 반복문을 돌려 각 딱지 모양을 받는다

4. 4(별)부터 1(세모)까지 a딱지와 b딱지를 비교해 더 많은 학생을 출력하고, 같을 경우 다음 모양을 비교한다

5. 모든 모양 개수가 같을경우(draw==4) D를 출력한다