본문 바로가기

정올문제소스코드

1311 : 카드게임

import java.util.Scanner;
 
public class Main {
 
    public static char color[] = new char [5];
    public static int number[] = new int [5];
    public static int score;
     
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scan = new Scanner(System.in);
         
        int i, j;
         
        for (i = 0; i < 5; i++) {
            color[i] = scan.next().charAt(0);
            number[i] = scan.nextInt();
        }
         
        int flag = 0;
         
        first();
        if (score > 0) {
            if (flag == 0) {
                System.out.printf("%d", score);
                flag = 1;
            }
        }
         
         
        second();
        if (score > 0) {
            if (flag == 0) {
                System.out.printf("%d", score);
                flag = 1;
            }
        }
         
        third();
        if (score > 0) {
            if (flag == 0) {
                System.out.printf("%d", score);
                flag = 1;
            }
        }
         
        forth();
        if (score > 0) {
            if (flag == 0) {
                System.out.printf("%d", score);
                flag = 1;
            }
        }
         
        fifth();
        if (score > 0) {
            if (flag == 0) {
                System.out.printf("%d", score);
                flag = 1;
            }
        }
         
        sixth();
        if (score > 0) {
            if (flag == 0) {
                System.out.printf("%d", score);
                flag = 1;
            }
        }
         
        seventh();
        if (score > 0) {
            if (flag == 0) {
                System.out.printf("%d", score);
                flag = 1;
            }
        }
         
        eighth();
        if (score > 0) {
            if (flag == 0) {
                System.out.printf("%d", score);
                flag = 1;
            }
        }
         
        ninth();
        if (score > 0) {
            if (flag == 0) {
                System.out.printf("%d", score);
                flag = 1;
            }
        }
         
    }
     
    private static void first() {
        int i, j;
         
        int tmp;
        int same = 0;
        for (i = 0; i < 5; i++) {
            for (j = i; j < 5; j++) {
                if (number[i] > number[j]) {
                    tmp = number[j];
                    number[j] = number[i];
                    number[i] = tmp;
                }
            }
        }
         
        for (i = 1; i < 5; i++) {
            if (color[i - 1] == color[i]) {
                if (number[i - 1] + 1 == number[i]) {
                    same++;
                }
            }
        }
        if (same == 4) {
            score = 900 + number[4];            
        }
         
    }
     
    private static void second() {
        int i, j;
        i = j = 0;
        int cnt = 0;
        int flag = 0;
         
        int tmp;
        for (i = 0; i < 5; i++) {
            for (j = i; j < 5; j++) {
                if (number[i] > number[j]) {
                    tmp = number[j];
                    number[j] = number[i];
                    number[i] = tmp;
                }
            }
        }
        if(number[0]==number[3] || number[1]==number[4]) {
            score += 800 + number[2];
        }
         
         
    }
     
    private static void third() {
        int i, j;
        int tmp;
        int same = 0;
         
        for (i = 0; i < 5; i++) {
            for (j = i; j < 5; j++) {
                if (number[i] > number[j]) {
                    tmp = number[j];
                    number[j] = number[i];
                    number[i] = tmp;
                }
            }
        }
         
        if (number[0] == number[2]) {
            same = 1;
        }
         
        if (same == 1) {
            if ( number[3] == number[4]) {
                score = 700 + (number[0] * 10) + number[4];
            }
        }
        if (same == 0) {
            if (number[0] == number[1] && number[2] == number[4]) {
                score = 700 + (number[4] * 10) + number[0];
            }
        }
         
         
    }
     
    private static void forth() {
        int i, j;
        int tmp = 0;
        int same = 0;
         
        for (i = 0; i < 5; i++) {
            for (j = i; j < 5; j++) {
                if (number[i] > number[j]) {
                    tmp = number[j];
                    number[j] = number[i];
                    number[i] = tmp;
                }
            }
        }
         
         
        for (i = 1; i < 5; i++) {
            if (color[i - 1] == color[i]) {
                same++;
            }
        }
         
        if (same == 4) {
            score = 600 + number[4];
             
        }
    }
     
    private static void fifth() {
        int i, j;
        int tmp = 0;
        int same = 0;
        for (i = 0; i < 5; i++) {
            for (j = i; j < 5; j++) {
                if (number[i] > number[j]) {
                    tmp = number[j];
                    number[j] = number[i];
                    number[i] = tmp;
                }
            }
        }
         
        for (i = 1; i < 5; i++) {
            if (number[i - 1] + 1 == number[i]) {
                same++;
            }
        }
        if (same == 4) {
            score = 500 + number[4];            
        }
    }
     
    private static void sixth() {
        int i, j;
        int tmp; 
        int same = 0;
         
        for (i = 0; i < 5; i++) {
            for (j = i; j < 5; j++) {
                if (number[i] > number[j]) {
                    tmp = number[j];
                    number[j] = number[i];
                    number[i] = tmp;
                }
            }
        }
         
        for (i = 1; i < 5; i++) {
            if (number[i - 1] == number[i]) {
                same++;
                 
            }
        }
         
        if (number[0] == number[2] || number[2] == number[4]) {         
            score = 400 + number[2];
        }
         
    }
     
    private static void seventh() {
        int i, j;
        int tmp;
        int same = 0;
         
        for (i = 0; i < 5; i++) {
            for (j = i; j < 5; j++) {
                if (number[i] > number[j]) {
                    tmp = number[j];
                    number[j] = number[i];
                    number[i] = tmp;
                }
            }
        }
         
        if (number[0] == number[1] && number[2] == number[3]) {
            score = (number[3] * 10) + number[0] + 300;
        }
        if (number[1] == number[2] && number[3] == number[4]) {
            score = (number[3] * 10) + number[1] + 300;
        }
        if (number[0] == number[1] && number[3] == number[4]) {
            score = (number[4] * 10) + number[0] + 300;
        }
    }
     
    private static void eighth() {
        int i, j;
        int tmp = 0;
         
        for (i = 0; i < 5; i++) {
            for (j = i; j < 5; j++) {
                if (number[i] > number[j]) {
                    tmp = number[j];
                    number[j] = number[i];
                    number[i] = tmp;
                }
            }
        }
         
        if (number[0] == number[1]) {
            score = 200 + number[0];
        }
        if (number[1] == number[2]) {
            score = 200 + number[1];
        }
        if (number[2] == number[3]) {
            score = 200 + number[2];
        }
        if (number[3] == number[4]) {
            score = 200 + number[3];
        }
    }
     
    private static void ninth() {
        int i, j;
        int tmp;
        for (i = 0; i < 5; i++) {
            for (j = i; j < 5; j++) {
                if (number[i] > number[j]) {
                    tmp = number[j];
                    number[j] = number[i];
                    number[i] = tmp;
                }
            }
        }
         
        score = 100 + number[4];
    }
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=591&sca=2060

'정올문제소스코드' 카테고리의 다른 글

1733 : 오목  (0) 2021.10.29
1997 : 떡 먹는 호랑이  (0) 2021.10.29
1671 : 색종이(중)  (0) 2021.10.29
1438 : 색종이(초)  (0) 2021.10.29
3699 : 변장  (0) 2021.10.08