[백준] 2490번 - 윷놀이

2022. 7. 11. 09:35백준/Java

문제로 가는 링크: https://www.acmicpc.net/problem/2490

등급: 브론즈3

알고리즘 분류: 구현

 

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB 29211 16685 14632 57.480%

문제

우리나라 고유의 윷놀이는 네 개의 윷짝을 던져서 배(0)와 등(1)이 나오는 숫자를 세어 도, 개, 걸, 윷, 모를 결정한다. 네 개 윷짝을 던져서 나온 각 윷짝의 배 혹은 등 정보가 주어질 때 도(배 한 개, 등 세 개), 개(배 두 개, 등 두 개), 걸(배 세 개, 등 한 개), 윷(배 네 개), 모(등 네 개) 중 어떤 것인지를 결정하는 프로그램을 작성하라.

 

입력

첫째 줄부터 셋째 줄까지 각 줄에 각각 한 번 던진 윷짝들의 상태를 나타내는 네 개의 정수(0 또는 1)가 빈칸을 사이에 두고 주어진다.

출력

첫째 줄부터 셋째 줄까지 한 줄에 하나씩 결과를 도는 A, 개는 B, 걸은 C, 윷은 D, 모는 E로 출력한다.

 

문제 이해

알파벳 A, B, C, D, E는 각각 도, 개, 걸, 윷, 모를 의미한다. 

윷놀이의 결과는 배(0)와 등(1)을 통해 구분한다. 

 

도(A) - 배(0) 한 개,  등(1) 세 개 

개(B) - 배(0) 두 개,  등(1) 두 개 

걸(C) - 배(0) 세 개,  등(1) 한 개 

윷(D) - 배(0) 네 개

모(E) - 등(1) 네 개 

 

총 세 번의 입력이 주어지고, 입력 한 줄당 윷을 던진 결과를 출력한다. 

0 1 0 0 - > 배 세 개, 등 한 개 -> 걸(C) 출력

1 0 1 1 ->  배 한 개, 등 세 개 -> 도(A) 출력

1 1 1 1 -> 등 네 개                 -> 모(E)출력

즉 총 윷짝을 네 개 던지어 그 윷짝의 배 혹은 등의 개수를 세는 문제이다. 

 

코드구현

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class Ex2490 {
    static int calculBack(String[] arr) {
        int back = 0;
        for(String zeroOrOne: arr) {
            if(zeroOrOne.equals("0")) {
                back++;
            }
        }
        return back;
    }
    static void printResult(int back) {
        char[] resultList = {'A', 'B', 'C', 'D', 'E'};
        if(back == 0) {
            System.out.println('E');
        } else {
            System.out.println(resultList[back-1]);
        }

    }

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        for(int i = 0; i<3; i++) {
            String[] one = br.readLine().split(" ");
            int back = calculBack(one);
            printResult(back);
        }
    }
}

 

 

결과

 

느낀점

String을 나눌 때, split()메서드 말고도, StringTokenizer 클래스를 이용할 수 있다고 하는데

StringTokenizer클래스에 대해 알아봐야 겠다는 생각이 들었다 .

 

'백준 > Java' 카테고리의 다른 글

[백준] 10757번 - 큰 수 A + B  (0) 2022.07.12
[백준] 5622번 - 다이얼  (0) 2022.07.10