백준#15953 상금 헌터

강영·2022년 5월 19일
0

Baekjoon

목록 보기
1/3
  • 문제

    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;
	}
}

👉 결과

  • 백준에서 문제 제출을 처음하다보니 작성방법때문에 에러가 나는 경우가 많았지만 코드자체에서는 문제가 없었다... 백준에 제줄하는 방법도 공부해야겠다...
profile
3/3시작.

0개의 댓글