응애개발자
article thumbnail
728x90

문제

 

2503번: 숫자 야구

첫째 줄에는 민혁이가 영수에게 몇 번이나 질문을 했는지를 나타내는 1 이상 100 이하의 자연수 N이 주어진다. 이어지는 N개의 줄에는 각 줄마다 민혁이가 질문한 세 자리 수와 영수가 답한 스트

www.acmicpc.net


 

코드

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;

public class Main {
    private static StringBuilder sb;
    private static BufferedReader br;
    private static StringTokenizer st;
    private static int N;
    private static int[][] arr;
    private static int count = 0;

    //입력
    public static void input() throws Exception {
        br = new BufferedReader(new InputStreamReader(System.in));
        sb = new StringBuilder();

        N = Integer.parseInt(br.readLine());
        arr = new int[N][3];

        for(int i = 0 ; i < N ; i++){
            st = new StringTokenizer(br.readLine());
            for(int j = 0 ; j < 3 ; j++){
                arr[i][j] = Integer.parseInt(st.nextToken());
            }
        }
    }

    //실행
    public static void process() {
        for(int i = 123 ; i <= 987 ; i++){
            String comp = String.valueOf(i);

            if(comp.charAt(0) == comp.charAt(1) || comp.charAt(1) == comp.charAt(2) || comp.charAt(2) == comp.charAt(0) || comp.contains("0")) continue;

            boolean isValid = true;

            for(int j = 0 ; j < N ; j++){
                String q = String.valueOf(arr[j][0]);
                int strike = 0;
                int ball = 0;

                for(int k = 0 ; k < 3 ; k++){
                    if(comp.charAt(k) == q.charAt(k)){
                        strike++;
                    }else if(comp.contains(String.valueOf(q.charAt(k)))){
                        ball++;
                    }
                }

                if(strike != arr[j][1] || ball != arr[j][2]){
                    isValid = false;
                    break;
                }
            }

            if(isValid) count++;
        }

        System.out.println(count);
    }


    public static void main(String[] args) throws Exception {
        input();
        process();
    }
}
profile

응애개발자

@Eungae-D

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!