Baby-Gin Game


- 각 카드는 0에서 9까지의 숫자가 쓰여져 있다.


- 6장의 카드를 받는다.


- 임의의 카드 6장 중, 3장의 카드가 연속적인 번호를 갖는 경우를 run이라 하며, 

  3장의 카드가 동일한 번호를 갖는 경우를 triplet 이라고 한다.


- 6장의 카드가 run과 triplet로만 구성된 경우를 baby-gin으로 부른다.


- 901은 run이 아니다.


예시 )

- 667767은 두 개의 triplet이므로 baby-gin이다. (666,777)

- 054060은 한 개의 run과 한 개의 triplet이므로 역시 baby-gin이다. (456, 000)

- 101123은 한 개의 triplet가 존재하나, 023이 run이 아니므로 baby-gin이 아니다.

  (123을 run으로 사용하더라도 011이 run이나 triplet가 아님)




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

 
import java.util.Arrays;
 
public class BabyJin {
    public static void main(String[] args) {
        int[] arr= {1,0,3,2,3,3,};
        int[] cnt = new int[10];
 
        
        for(int i=0;i<arr.length;i++) {
            cnt[arr[i]]++;
        } //카운팅 소트
        
        
        for(int i=0;i<cnt.length;i++) { //트리플
            if(cnt[i]>=3) {
                System.out.println("Triplet");
                cnt[i]-=3;
            } 
            
            if(i-1>=0 && i+1<cnt.length) { //
                if(cnt[i-1]>0 && cnt[i]>0 && cnt[i+1]>0) {
                    System.out.println("Run");
                    cnt[i-1]--;
                    cnt[i]--;
                    cnt[i+1]--;
                }
            }
        }
        
        for(int i=0;i<cnt.length;i++) {
            if(cnt[i]!=0return;
        }
        System.out.println("Baby-gin");
    }
}
 
cs


+ Recent posts