https://www.acmicpc.net/problem/5355
5355번: 화성 수학
겨울 방학에 달에 다녀온 상근이는 여름 방학 때는 화성에 갔다 올 예정이다. (3996번) 화성에서는 지구와는 조금 다른 연산자 @, %, #을 사용한다. @는 3을 곱하고, %는 5를 더하며, #는 7을 빼는 연산
www.acmicpc.net
해석 및 팁
이 문제는 풀 때 몇 가지 주의할 점이 있다. 먼저 처음의 t를 nextInt()를 통해 입력받으면 오류가 발생한다. 오류를 해결하기 위해서는 parseInt를 통해 nextLine으로 입력받거나 nexrInt로 입력받은 후에 nextLine을 하나 출력해주면 된다. 그리고 마지막에 소수 둘째 자리까지 출력하라고 했기 때문에 .format를 활용해주면 된다.
Java 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = Integer.parseInt(sc.nextLine()); // sc.nextInt를 사용하면 에러가 발생한다
for(int i = 0; i < t; i++) {
String str = sc.nextLine();
String[] arr = str.split(" ");
double num = Double.parseDouble(arr[0]); //첫번째는 무조건 수가 주어진다
for(int j = 1; j < arr.length; j++) {
if(arr[j].equals("@")) num *= 3;
else if(arr[j].equals("%")) num += 5;
else if(arr[j].equals("#")) num -= 7;
}
System.out.println(String.format("%.2f",num)); //소수점 둘째자리까지 출력한다
}
}
}
'백준' 카테고리의 다른 글
백준 5598 카이사르 암호(Java) (1) | 2023.01.13 |
---|---|
백준 2592 대표값(Java) (0) | 2023.01.13 |
백준 17608 막대기(Java) (0) | 2023.01.12 |
백준 6459 만취한 상범(Java) (0) | 2023.01.12 |
백준 2605 줄 세우기(Java) (0) | 2023.01.12 |