[백준][Java] 2503번 숫자 야구 (구현, 브루트포스)

[백준][Java] 2503번 숫자 야구 (구현, 브루트포스)

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

public class Main {

private static BufferedReader br = new BufferedReader( new InputStreamReader( System . in ));

private static BufferedWriter bw = new BufferedWriter( new OutputStreamWriter( System . out ));

public static void main( String [] args) throws IOException{

int N = stoi(br.readLine());

String [] quesArr = new String [N];

boolean [] used = new boolean [ 10 ];

int res = 0 ;

for ( int i = 0 ; i < N; i + + ) {

quesArr[i] = br.readLine();

}

for ( int hun = 1 ; hun < = 9 ; hun + + ) {

if (used[hun])

continue ;

used[hun] = true ;

for ( int ten = 1 ; ten < = 9 ; ten + + ) {

if (used[ten])

continue ;

used[ten] = true ;

UpperLoop:

for ( int one = 1 ; one < = 9 ; one + + ) {

if (used[one])

continue ;

Loop:

for ( int i = 0 ; i < N; i + + ) {

String [] ques = quesArr[i]. split ( " " );

int num = stoi(ques[ 0 ]);

int oneTemp = num% 10 ;

num / = 10 ;

int tenTemp = num% 10 ;

num / = 10 ;

int hunTemp = num% 10 ;

int strike = 0 ;

int ball = 0 ;

if (one = = oneTemp) strike + + ;

if (ten = = tenTemp) strike + + ;

if (hun = = hunTemp) strike + + ;

if (one = = tenTemp | | one = = hunTemp ) ball + + ;

if (ten = = oneTemp | | ten = = hunTemp ) ball + + ;

if (hun = = oneTemp | | hun = = tenTemp ) ball + + ;

if (strike = = stoi(ques[ 1 ]) & & ball = = stoi(ques[ 2 ]))

continue Loop;

else

continue UpperLoop;

}

res + + ;

}

used[ten] = false ;

}

used[hun] = false ;

}

System . out . println (res);

// bw.write("");

// bw.flush();

// bw.close();

}

private static int stoi( String input) {

return Integer. parseInt (input);

}

}

from http://aig2029.tistory.com/297 by ccl(A) rewrite - 2021-09-21 08:01:55