Java/Algorithm
백준 2596
Dev.hs
2020. 11. 25. 01:25
자바 풀이
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class A2596 {
public static void main(String[] args) {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
try {
int[][] arr = {
{0,0,0,0,0,0},
{0,0,1,1,1,1},
{0,1,0,0,1,1},
{0,1,1,1,0,0},
{1,0,0,1,1,0},
{1,0,1,0,0,1},
{1,1,0,1,0,1},
{1,1,1,0,1,0}
};
char[] answerArr = {'A','B','C','D','E','F','G','H'};
int loop = Integer.parseInt(bf.readLine());
String findChar = bf.readLine();
String[] charArr = findChar.split("");
String resultChar = "";
loop1 :
for(int k = 0; k < loop ;k++) {
for(int t = 0; t < 8; t++) {
int cnt = 0;
for(int j = 0; j < 6; j++) {
int encodeNum = Integer.parseInt(charArr[j+(6*k)]);
if(!(encodeNum == arr[t][j])) {
cnt++;
}
}
if (2 > cnt ) {
resultChar += answerArr[t];
continue loop1;
//마지막문자(H)까지 검사해서 1개이상 틀렸을경우 번호를 반환함
}else if(t == 7 && cnt > 1) {
resultChar = (k+1)+"";
break loop1;
}
}
}
bw.write(resultChar);
bw.flush();
bw.close();
}catch(Exception e) {
e.printStackTrace();
}
}
}