신규 블로그를 만들었습니다!
문제
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)가 공백 하나를 사이로 두고 주어진다.
출력
각 가정이 성립할 때 제이지가 받을 상금을 원 단위의 정수로 한 줄에 하나씩 출력한다. 입력이 들어오는 순서대로 출력해야 한다.
예제
예제입력
6
8 4
13 19
8 10
18 18
8 25
13 16
예제출력
1780000
620000
1140000
420000
820000
620000
코드
# -*- coding: utf-8 -*-
# Python 3.4.5
import sys
def first(n) :
if n == 1 : return 5000000
elif n > 1 and n <= 1+2 : return 3000000
elif n > 1+2 and n <= 1+2+3 : return 2000000
elif n > 1+2+3 and n <= 1+2+3+4 : return 500000
elif n > 1+2+3+4 and n <= 1+2+3+4+5 : return 300000
elif n > 1+2+3+4+5 and n <= 1+2+3+4+5+6 : return 100000
else : return 0
def second(n) :
if n == 1 : return 5120000
elif n > 1 and n <= 1+2 : return 2560000
elif n > 1+2 and n <= 1+2+4 : return 1280000
elif n > 1+2+4 and n <= 1+2+4+8 : return 640000
elif n > 1+2+4+8 and n <= 1+2+4+8+16 : return 320000
else : return 0
if __name__ == '__main__':
t = int(sys.stdin.readline())
for i in range(t) :
a, b = map(int, sys.stdin.readline().split())
print(first(a) + second(b))
단순 하드코딩으로 풀수 있는 문제였다. 복잡하게 생각할 필요 없이 등수에 따라서 상금을 반환해줬다.
결과
※ 직접 문제 풀고 돌려본 뒤, 채점까지 마친 후에 작성한 글입니다.
더 좋은 방법이 있다면, 댓글로 알려주시면 감사하겠습니다 :)
'Algorithm > 백준 온라인 저지' 카테고리의 다른 글
백준/1009번 :: 분산처리 (Python, 파이썬, 알고리즘) (0) | 2018.08.25 |
---|---|
백준/1002번 :: 터렛 (Python, 파이썬, 알고리즘) (0) | 2018.08.25 |
백준/1427번 :: 소트인사이드(Python 파이썬) 알고리즘 (0) | 2018.07.23 |
백준/2941번 :: 크로아티아 알파벳(Python 파이썬) 알고리즘 (1) | 2018.07.23 |
백준/1181번 :: 단어 정렬 (Java/자바) 알고리즘 풀이 (1) | 2018.07.15 |
최근댓글