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]!=0) return; } System.out.println("Baby-gin"); } } | cs |
'Algorithm Problem Solving' 카테고리의 다른 글
1218. [S/W 문제해결 기본] 4일차 - 괄호 짝짓기 (0) | 2019.01.15 |
---|---|
[BOJ] 1018 : 체스판 다시 칠하기 (0) | 2019.01.11 |
1206. [S/W 문제해결 기본] 1일차 - View (0) | 2019.01.11 |
1225. [S/W 문제해결 기본] 7일차 - 암호생성기 (0) | 2019.01.11 |
[BOJ] 15686 : 치킨배달 (1) | 2019.01.08 |