java/백준 java

[자바/Java] 백준 5355번 화성 수학

CE : 하랑 2022. 7. 5. 19:51

 

 

 

문제

 

겨울 방학에 달에 다녀온 상근이는 여름 방학 때는 화성에 갔다 올 예정이다. (3996번) 화성에서는 지구와는 조금 다른 연산자 @, %, #을 사용한다. @는 3을 곱하고, %는 5를 더하며, #는 7을 빼는 연산자이다. 따라서, 화성에서는 수학 식의 가장 앞에 수가 하나 있고, 그 다음에는 연산자가 있다.

 

3996번: 위대한 사기꾼

첫 번째 예제에서 상근이는 0, 1, 2, 9, 10, 11, 18, 19, 20을 외웠다. 19는 3진법과 -3진법에서 19 = 2013 = 201-3 으로 표현이 같다. 하지만, 7은 7 = 213 = 111-3 으로 같지 않다. 두 번째 예제의 경우에는 0, 1, 4, 5,

www.acmicpc.net

 

 

 

 

 

 

입력

 

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 다음 줄에는 화성 수학식이 한 줄에 하나씩 주어진다. 입력으로 주어지는 수는 정수이거나 소수 첫째 자리까지 주어지며, 0 이상 100 이하이다. 연산자는 최대 3개 주어진다.

ex)

3
3 @ %
10.4 # % @
8 #

 

 

 

 

 

 

출력

 

각 테스트 케이스에 대해서, 화성 수학식의 결과를 계산한 다음에, 소수점 둘째 자리까지 출력한다.

ex)

14.00
25.20
1.00

 



 

코드

 

 


 

복사코드

 

import java.util.Scanner;

public class Main {	
	public static void main(String[] args){
		Scanner scanner = new Scanner(System.in);
		
		 int n = Integer.parseInt(scanner.nextLine());
		 
		 for(int i = 0 ; i<n ; i++){
		      String ch = scanner.nextLine();
		      String[] ch_list = ch.split(" ");
		      float sum = Float.parseFloat(ch_list[0]);
		      
		      for(int j = 1 ; j<ch_list.length ; j++){
		        if(ch_list[j].equals("@")) {
		        	sum = sum * 3;
		        }
		        else if(ch_list[j].equals("%")) {
		        	sum = sum + 5;
		        }
		        else if(ch_list[j].equals("#")) {
		        	sum = sum - 7;
		        }
		      }
		      System.out.println(String.format("%.2f",sum));
		}
    }
}