package com.yjh.algol;
import java.util.Scanner;
public class XHAENEUNG {
static String num[] = { "zero", "one", "two", "three", "four", "five", "six", "seven","eight","nine", "ten" };
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int fNum = 0;
int lNum = 0;
String oper ;
String sresult;
int result = -1;
for ( int i = 0 ; i < n ; i++ ) {
// 숫자들의 입력을 받아올 때, 위에 num[]에 저장 된 문자열과 비교하여 숫자값으로 바꿔준다.
fNum = findNum( scanner.next() );
oper = scanner.next();
lNum = findNum( scanner.next() );
scanner.next();
sresult = scanner.next();
// 받은 두 숫자값을 이용, 결과값을 출력해준다.
if( oper.equals("+")) {
result = fNum + lNum;
} else if ( oper.equals("-") ) {
result = fNum - lNum;
} else if ( oper.equals("*") ) {
result = fNum * lNum;
}
// 예외 처리) 숫자가 10보다 크거나, 0보다 작음 잘 못된 값으로 간주한다.
if( result > 10 || result < 0 ) {
System.out.println("No");
continue;
}
// 연산을 한 숫자 문자열 값과, 결과값으로 제공된 값을 비교한다. // 길이가 같다면 한 글자씩 없애준다. // 결과로서 모든 문자열이 제거 됐다면 성공, 아닐 시 실패
int length = sresult.length();
int nlength = num[result].length();
String temp;
boolean tfalse = true;
if( length != nlength ) {
tfalse = false;
}else {
temp = num[result];
for (int j = 0 ; j < length ; j++) {
temp = temp.replaceFirst(sresult.charAt(j)+"", "");
}
if(temp.length() > 0) {
tfalse = false;
}
}
if(tfalse) {
System.out.println("Yes");
} else {
System.out.println("No");
}
}
}
static int findNum(String number) {
int index = -1;
for( int i =0 ; i < num.length ; i++) {
if( number.equals(num[i])) {
index = i;
break;
}
}
return index;
}
}
|