코드가 잘 동작하는 것 같은데... 막상 제출을 하면 오답이 뜨네요... 혹시 어느 부분이 잘못된건지 여쭤봐도 될까요!?
import java.util.Arrays;
import java.util.Scanner;
public class Main {
// 필요한 배열
static int[] number = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 , 10};
static String[] charNumber = new String[] { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight",
"nine", "ten" };
static boolean check(int anum, String b) {
String a = charNumber[anum];
if (a.length() != b.length())
return false;
String[] aArray = a.split("");
String[] bArray = b.split("");
Arrays.sort(aArray);
Arrays.sort(bArray);
int count = 0;
for (int i = 0; i < aArray.length; i++) {
if (aArray[i].equals(bArray[i]))
count++;
}
if (count == aArray.length)
return true;
else
return false;
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int times = scan.nextInt();
scan.nextLine();
for (int t = 0; t < times; t++) {
String first = scan.next();
String op = scan.next();
String second = scan.next();
scan.next(); // = 을 제거해 주기 위해서!
String result = scan.next();
scan.nextLine();
int count = 0;
for (int i = 0; i < 11; i++) {
if (first.equals(charNumber[i]))
count = i;
}
int firstnum = number[count];
for (int i = 0; i < 11; i++) {
if (second.equals(charNumber[i]))
count = i;
}
int secondnum = number[count];
for (int i = 0; i < 11; i++) {
if (result.equals(charNumber[i]))
count = i;
}
int resultnum = number[count];
int cal = 0;
switch (op) {
case "+":
cal = firstnum + secondnum;
break;
case "-":
cal = firstnum - secondnum;
break;
case "*":
cal = firstnum * secondnum;
break;
default:
System.out.println("Fucking Error");
break;
}
if (cal < 0 || cal > 10)
System.out.println("No");
else {
if (cal == resultnum)
System.out.println("Yes");
else {
if (check(cal, result))
System.out.println("Yes");
else
System.out.println("No");
}
}
}
}
}
tjtjdgur34
코드가 잘 동작하는 것 같은데... 막상 제출을 하면 오답이 뜨네요... 혹시 어느 부분이 잘못된건지 여쭤봐도 될까요!?
9년 전