반응형
[광고 누르면 오늘의 행운 상승!!]
문제의 저작권은 Sw Expert Academy에 있습니다.
1을 만나면 암호를 검사하고 적합한 암호면 출력하였다.
package Swea;
import java.io.*;
import java.util.StringTokenizer;
public class 단순2진암호코드 {
public static void main(String[] args) throws Exception {
System.setIn(new FileInputStream("test.txt"));
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int num = Integer.parseInt(st.nextToken());
int n, m, answer = 0;
String str, tmp, sub = "";
int[] decimalNum = new int[8];
String[] code = { "0001101", "0011001", "0010011", "0111101", "0100011", "0110001", "0101111", "0111011",
"0110111", "0001011" };
for (int i = 1; i <= num; i++) {
int count = 0;
boolean isFind = false;
st = new StringTokenizer(br.readLine());
n = Integer.parseInt(st.nextToken());
m = Integer.parseInt(st.nextToken());
for (int j = 0; j < n; j++) {
str = br.readLine();
for (int k = m - 1; k >= 0 && !isFind; k--) {
if (str.charAt(k) == '1') {
sub = str.substring(k - 55, k + 1);
isFind = true;
}
}
}
for (int k = 0; k < sub.length(); k = k + 7) {
tmp = sub.substring(k, k + 7);
for (int l = 0; l < code.length; l++) {
if (tmp.equals(code[l])) {
decimalNum[count++] = l;
}
}
}
answer = (decimalNum[0] + decimalNum[2] + decimalNum[4] + decimalNum[6]) * 3 + decimalNum[1] + decimalNum[3]
+ decimalNum[5] + decimalNum[7];
if (answer % 10 == 0) {
answer = 0;
for (int j = 0; j < decimalNum.length; j++) {
answer += decimalNum[j];
}
} else {
answer = 0;
}
System.out.println("#" + i + " " + answer);
}
}
}
반응형
'2. 알고리즘사이트 > 2. Swea' 카테고리의 다른 글
초콜릿과 건포도 [SWEA 9282][Java] (1) | 2020.03.04 |
---|---|
퀴즈 [Swea 7965][Java] (0) | 2020.03.02 |
서로소 집합 [Swea 3289][Java] (0) | 2020.03.02 |
최장경로 [SWEA 2814][Java] (0) | 2020.03.01 |
벌꿀채취 [SWEA 2115][Java] (0) | 2020.03.01 |