BaekJoon_5355
🎈 문제 링크
▶ JAVA 코드
package com.company.ct0625;
import java.util.Scanner;
public class bj5355 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String t = sc.nextLine(); // 문자열로 입력받는다
int tt = Integer.parseInt(t); // 입력받은 문자열을 int형태로 변환
String[] h = new String[tt]; // 입력받은 숫자 만큼 배열생성
double num = 0; // double타입 변수 선언
for(int i = 0; i < tt; i++){ // 반복문 : i는 0부터 입력받은 숫자 만큼 1씩 증가하면서 반복
h[i] = sc.nextLine(); // 입력받은 문자열을 배열에 저장
String[] ac = h[i].split(" "); // 문자열배열 생성 해서 입력받은 문자열을 공백을 기준으로 나누어 저장한다
num = Double.parseDouble(ac[0]); // double타입 변수 num에 ac배열의 0번 인텍스에 있는 문자열 값을 double타입으로 변환하여 저장한다
for(int j = 1; j <ac.length; j++){ // 반복문 : j는 1부터 ac 배열의 길이만큼 1씩증가하면서 반복
if(ac[j].equals("@")){ // ac배열의 인덱스 값이 @ 이면 num 값에 *3
num *=3;
}else if(ac[j].equals("%")){ // ac배열의 인덱스 값이 % 이면 num 값에 +5
num +=5;
}else if(ac[j].equals("#")){ // ac배열의 인덱스 값이 # 이면 num 값에 -7
num -=7;
}
}
System.out.printf("%.2f",num); // 소수자리 2까지 값을 출력한다
System.out.println();
}
}
}
▶ 코드 설명
1) 입력받을 Scanner 객체 생성
2) String 변수 t 생성후 문자열을 입력받은 값을 대입한다
3) int 변수 tt 생성하여 t변수의 값을 int 형으로 변환하여 값을 대입한다
4) String 타입 h 배열을 tt변수의 길이만큼 생성한다
5) double 타입 변수 num선언후 초기화
6) 반복문1의 조건 : i는 0부터 입력받은 숫자 만큼 1씩 증가하면서 반복한다
7) 배열 h에 입력받은 값을 저장한다
8) String 타입 배열 ac를 생성하고 배열 h의 값에서 공백을 기준으로 나누어 값을 저장한다
9) double타입 변수 num에 ac배열의 0번 인텍스에 있는 문자열 값을 double타입으로 변환하여 저장한다
10) 반복문2의 조건 : j는 1부터 ac 배열의 길이만큼 1씩증가하면서 반복 한다
11) ac배열의 인덱스 값이 @ 이면 num 값에 *3,ac배열의 인덱스 값이 % 이면 num 값에 +5,ac배열의 인덱스 값이 # 이면 num 값에 -7 을해준다
12) num 의 값을 출력한다
▶ 출력 결과창(Console)