상금 헌터 성공
시간 제한메모리 제한제출정답맞은 사람정답 비율
1 초 (추가 시간 없음) | 512 MB | 9761 | 3349 | 2855 | 36.758% |
문제
2017년에 이어, 2018년에도 카카오 코드 페스티벌이 개최된다!
카카오 코드 페스티벌에서 빠질 수 없는 것은 바로 상금이다. 2017년에 개최된 제1회 코드 페스티벌에서는, 본선 진출자 100명 중 21명에게 아래와 같은 기준으로 상금을 부여하였다.
순위상금인원
1등 | 500만원 | 1명 |
2등 | 300만원 | 2명 |
3등 | 200만원 | 3명 |
4등 | 50만원 | 4명 |
5등 | 30만원 | 5명 |
6등 | 10만원 | 6명 |
2018년에 개최될 제2회 코드 페스티벌에서는 상금의 규모가 확대되어, 본선 진출자 64명 중 31명에게 아래와 같은 기준으로 상금을 부여할 예정이다.
순위상금인원
1등 | 512만원 | 1명 |
2등 | 256만원 | 2명 |
3등 | 128만원 | 4명 |
4등 | 64만원 | 8명 |
5등 | 32만원 | 16명 |
제이지는 자신이 코드 페스티벌에 출전하여 받을 수 있을 상금이 얼마인지 궁금해졌다. 그는 자신이 두 번의 코드 페스티벌 본선 대회에서 얻을 수 있을 총 상금이 얼마인지 알아보기 위해, 상상력을 발휘하여 아래와 같은 가정을 하였다.
-
제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)가 공백 하나를 사이로 두고 주어진다.
출력
각 가정이 성립할 때 제이지가 받을 상금을 원 단위의 정수로 한 줄에 하나씩 출력한다. 입력이 들어오는 순서대로 출력해야 한다.
예제 입력 1 복사
6 8 4 13 19 8 10 18 18 8 25 13 16
예제 출력 1 복사
1780000 620000 1140000 420000 820000 620000
출처
Contest > 카카오 코드 페스티벌 > 카카오 코드 페스티벌 2018 예선 A번
package com.company;
import java.util.Scanner;
public class BaekJoon15953 {
public static void main(String[] args) {
int count;
Scanner scanner = new Scanner(System.in);
count = scanner.nextInt();
int[] printSum = new int[count];
if(count <= 1000 && count >= 0)
{
for(int i = 0; i < count; i++)
{
int first;
int second;
int sum = 0;
first = scanner.nextInt();
second = scanner.nextInt();
if (first >= 0 && first <= 100)
{
if (first == 0 ) { }
else if (first == 1 ) { sum += 5000000; }
else if (first <= 3) { sum += 3000000; }
else if (first <= 6) { sum += 2000000; }
else if (first <= 10) { sum += 500000; }
else if (first <= 15) { sum += 300000; }
else if (first <= 21) { sum += 100000; }
else if (first >= 22 ) { }
}
if (second >= 0 && second <= 64)
{
if (second == 0) { }
else if (second == 1) { sum += 5120000; }
else if (second <= 3) { sum += 2560000; }
else if (second <= 7) { sum += 1280000; }
else if (second <= 15) { sum += 640000; }
else if (second <= 31) { sum += 320000; }
else if (second >= 32 ) { }
}
printSum[i] = sum;
}
for(int i = 0; i < printSum.length; i++)
{
System.out.println(printSum[i]);
}
}
}
}
테스트 케이스 대로 실행했는데 계속 틀리다고 나와서 1 0 0 입력해보니 0이아닌 다른 값이 나왔었다.
0일 경우를 처리해주니 바로 정답처리되었다.
'알고리즘' 카테고리의 다른 글
[프로그래머스] 연습 문제 - 올바른 괄호 (0) | 2020.06.22 |
---|---|
[프로그래머스] Summer/Winter Coding(~2018) 스킬트리 문제 풀이 (0) | 2020.05.08 |
[프로그래머스] 스킬 체크 레벨 1 - 모의고사 (0) | 2020.03.09 |
[프로그래머스] 스킬 체크 레벨 1 - K번째 수 (0) | 2020.03.06 |
[프로그래머스] 스킬 체크 레벨 1 - 완주하지 못한 선수 (3) | 2019.08.27 |