2017년에 이어, 2018년에도 카카오 코드 페스티벌이 개최된다!
제이지는 자신이 코드 페스티벌에 출전하여 받을 수 있을 상금이 얼마인지 궁금해졌다.
그는 자신이 두 번의 코드 페스티벌 본선 대회에서 얻을 수 있을 총 상금이 얼마인지 알아보기 위해, 상상력을 발휘하여 아래와 같은 가정을 하였다.
제1회 코드 페스티벌 본선에 진출하여 a등(1 ≤ a ≤ 100)등을 하였다. 단, 진출하지 못했다면 a = 0으로 둔다.
제2회 코드 페스티벌 본선에 진출하여 b등(1 ≤ b ≤ 64)등을 할 것이다. 단, 진출하지 못했다면 b = 0으로 둔다.
제이지는 이러한 가정에 따라, 자신이 받을 수 있는 총 상금이 얼마인지를 알고 싶어한다.
º입력
첫 번째 줄에 제이지가 상상력을 발휘하여 가정한 횟수 T(1 ≤ T ≤ 1,000)가 주어진다.
다음 T개 줄에는 한 줄에 하나씩 제이지가 해본 가정에 대한 정보가 주어진다. 각 줄에는 두 개의 음이 아닌 정수 a(0 ≤ a ≤ 100)와 b(0 ≤ b ≤ 64)가 공백 하나를 사이로 두고 주어진다.
º 출력
각 가정이 성립할 때 제이지가 받을 상금을 원 단위의 정수로 한 줄에 하나씩 출력한다. 입력이 들어오는 순서대로 출력해야 한다.
👉 풀이
import java.util.Scanner;
public class Baek15953 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt(); // 반복할 횟수
if (T >= 0 && T <= 1000) {
for (int i = 0; i < T; i++) {
int f_1st = sc.nextInt(); // 1회차 등수
int f_2nd = sc.nextInt(); // 2회차 등수
System.out.println((first(f_1st) + second(f_2nd)));
}
}
}
// 1회차 등수별 상금을 출력할 메서드
public static int first(int f_1st) {
if (f_1st == 1)
return 5000000;
else if (f_1st >= 2 && f_1st <= 3)
return 3000000;
else if (f_1st >= 4 && f_1st <= 6)
return 2000000;
else if (f_1st >= 7 && f_1st <= 10)
return 500000;
else if (f_1st >= 11 && f_1st <= 15)
return 300000;
else if (f_1st >= 16 && f_1st <= 21)
return 100000;
else
return 0;
}
// 2회차 등수별 상금을 출력할 메서드
public static int second(int f_2nd) {
if (f_2nd == 1)
return 5120000;
else if (f_2nd >= 2 && f_2nd <= 3)
return 2560000;
else if (f_2nd >= 4 && f_2nd <= 7)
return 1280000;
else if (f_2nd >= 8 && f_2nd <= 15)
return 640000;
else if (f_2nd >= 16 && f_2nd <= 31)
return 320000;
else
return 0;
}
}
👉 결과
- 백준에서 문제 제출을 처음하다보니 작성방법때문에 에러가 나는 경우가 많았지만 코드자체에서는 문제가 없었다... 백준에 제줄하는 방법도 공부해야겠다...