ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java 실습] Baby-gin
    Java/Java 실습 2022. 7. 12. 09:52

    긴가민가 하며 배우며 만든 코드입니다.

     

    열심히 공부해야겠습니다..

     

    + 수정했습니다.

    package BabyGin;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Scanner;
    
    public class BabyGin {
    
    	public static void main(String[] args) {
    		ArrayList<Integer> aList = new ArrayList<Integer>();
    		
    		Scanner sc = new Scanner(System.in);
    		System.out.print("6자리 숫자를 입력하세요.");
    		String [] str = sc.next().split("");
    		
    		for(int i=0; i<str.length; i++) {
    			// split한 내용을 ArrayList에 추가
    			aList.add(Integer.parseInt(str[i]));
    		}
    		
    		for(int i=1; i<5; i++) {
    			if(babyGin(aList, i))
    				break;
    		}
    	}
    	
    	static boolean babyGin(ArrayList<Integer> aList, int n) {
    		// 클론을 통해 원래 ArrayList가 지워지는 것을 방지
    		ArrayList<Integer> temp = (ArrayList<Integer>)aList.clone();
    		System.out.println(temp);
    		switch(n) {
    		case 1:
    			if(run(temp) && triplete(temp)) {
    				System.out.println("baby-gin!");
    				return true; 
    			}
    			break;
    		case 2:
    			if(run(temp) && run(temp)) {
    				System.out.println("baby-gin!");
    				return true; 
    			}
    			break;
    		case 3:
    			if(triplete(temp) && run(temp)) {
    				System.out.println("baby-gin!");
    				return true; 
    			}
    			break;
    		case 4:
    			if(triplete(temp) && triplete(temp)) {
    				System.out.println("baby-gin!");
    				return true; 
    			}
    			break;
    		}
    		return false;
    	}
    	
    //	public static void disp(ArrayList<Integer> aList) {
    //		if(triplete(aList) && run(aList)) {
    //			System.out.print("baby-gin~");
    //		} if(run(aList) && run(aList)) {
    //			System.out.print("baby-gin~");
    //		} if(triplete(aList) && triplete(aList)) {
    //			System.out.print("baby-gin~");
    //		} if(run(aList) && triplete(aList)) {
    //			System.out.print("baby-gin~");
    //		}
    //	}
    	
    	public static boolean triplete(ArrayList<Integer> b) {
    		System.out.print("triplete" + " ");
    		for(int i=0; i<b.size(); i++) {
    			// Collection 안에 있는 객체가 몇번 등장했는지를 return 해준다.
    			if(Collections.frequency(b, b.get(i))>=3) {
    				for(int j=0;j<3;j++)
    					b.remove(b.indexOf(b.get(i)));
    				return true;
    			}
    		}
    		return false;
    	}
    	
    	public static boolean run(ArrayList<Integer> a) {
    		System.out.print("run" + " ");
    		for(int i=0; i<8; i++) {
    			// 연속된 수 = run
    			if(a.contains(i) && a.contains(i+1) && a.contains(i+2)) {
    				a.remove(a.indexOf(i));
    				a.remove(a.indexOf(i+1));
    				a.remove(a.indexOf(i+2));
    				return true;
    			}
    		}
    		return false;
    	}
    }
Designed by Tistory.