Algorithm/BOJ(Baekjoon Online Judge)
[백준 - 5355번] 화성수학 - Java //Wello Horld//
koucop
2019. 7. 21. 19:17
이번에는 백준알고리즘의 5355번 문제 화성수학을 풀어보도록 하자
문제에 나와있는 부분은 살짝 이해하기 어렵게 되어있으므로, 예제를 보면서 문제를 설명하도록 하겠다.
일단, 입력으로 테스트케이스의 개수 T가 주어지고 그 다음 줄부터 하나의 숫자와 연산자(@, %, #)가 띄어쓰기로 주어진다. @는 3을 곱하는 연산자 %는 5를 더하는 연산자 #은 7을 빼는 연산자이고, 출력으로 각 테스트 케이스에 대해서 결과를 소수점 둘째자리까지 구하면 된다.
예제로 주어진, 3 @ % 는 (3 * 3) + 5 이고, 이것은 14가 되는데, 소수점 둘째자리까지 구하라고 하였으므로, 14.00을 출력값으로 넣어주면 된다.
성공한 코드는 아래와 같다.
import java.io.*;
import java.util.*;
public class sample {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
for(int i = 0; i < T; i++){
StringTokenizer st = new StringTokenizer(br.readLine());
double num = Double.parseDouble(st.nextToken());
while(st.hasMoreTokens()){
String oper = st.nextToken();
if(oper.equals("@")){
num *= 3;
} else if(oper.equals("%")){
num += 5;
} else if(oper.equals("#")){
num -= 7;
}
}
System.out.printf("%.2f\n", num);
}
br.close();
}
}
5355번: 화성 수학
문제 겨울 방학에 달에 다녀온 상근이는 여름 방학 때는 화성에 갔다 올 예정이다. (3996번) 화성에서는 지구와는 조금 다른 연산자 @, %, #을 사용한다. @는 3을 곱하고, %는 5를 더하며, #는 7을 빼는 연산자이다. 따라서, 화성에서는 수학 식의 가장 앞에 수가 하나 있고, 그 다음에는 연산자가 있다. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 다음 줄에는 화성 수학식이 한 줄에 하나씩 주어진다. 수학식은 100자를 넘지 않는다.
www.acmicpc.net