BaekJoon - 15953번: 상금 헌터 (카카오 코드 페스티벌, PYTHON)

2022. 10. 11. 17:30·Coding Test/BaekJoon_Python
728x90

문제 링크

 

15953번: 상금 헌터

첫 번째 줄에 제이지가 상상력을 발휘하여 가정한 횟수 T(1 ≤ T ≤ 1,000)가 주어진다. 다음 T개 줄에는 한 줄에 하나씩 제이지가 해본 가정에 대한 정보가 주어진다. 각 줄에는 두 개의 음이 아닌

www.acmicpc.net


코드 작성 순서

  1. 2017 카카오 등수에 따른 상금 list 추가하기
  2. 2018 카카오 등수에 따른 상금 list 추가하기
  3. 상상력을 발휘해 가정할 횟수 T 입력문 생성, T회만큼 반복하는 반복문 생성
  4. 2017, 2018 카카오 페스티벌에서 달성한 등수를 입력받을 a, b선언
  5. 상금 등수 이탈 시 a or b의 값을 0으로 바꿔주는 조건문 작성
  6. 받을 상금 원 단위로 출력

Process 1  >  2017 카카오 등수에 따른 상금 list 추가하기

  • 순위권 외로 정해졌을 때 a, b가 0이 되어야 한다(문제 참고)
  • index = 0 >> 0등과 같고, list의 0번째 값이 출력되어야 한다
  • 따라서 list의 0번째 값은 0을 넣는다 
  • 그 후 등 수별 상금 수령이 정해진 인원 N명을
  • 각각 N번씩 반복하여 추가한다 (직접 list안에 모든 수를 입력해도 상관없다)
K_2017 = [0, 500]
for i in range(2):
    K_2017.append(300)
for i in range(3):
    K_2017.append(200)
for i in range(4):
    K_2017.append(50)
for i in range(5):
    K_2017.append(30)
for i in range(6):
    K_2017.append(10)

 

Process 2  >  2018 카카오 등수에 따른 상금 list 추가하기

  • Process 1과 동일
  • 변수 이름만 2018에 맞게 바꾸어준다
K_2018 = [0, 512]
for i in range(2):
    K_2018.append(256)
for i in range(4):
    K_2018.append(128)
for i in range(8):
    K_2018.append(64)
for i in range(16):
    K_2018.append(32)

 

Process 3 > 상상력을 발휘해 가정할 횟수 T 입력문 생성, T회만큼 반복하는 반복문 생성

  • i in range(T) = T회 반복으로 이해하면 편하다
T = int(input())
for i in range(T):

 

Process 4  >  2017, 2018 카카오 페스티벌에서 달성한 등수를 입력받을 a, b선언

  • Process 3의 for문 내부에 작성
  • 등수는 정수형이므로 int로 입력
  • a, b를 공백을 기준으로 입력받아야 하므로 위의 조건과 결합해 코드 작성
  • 다중 입력 + 자료형 선언의 경우 map()을 이용하여 입력받는다
    a, b = map(int, input().split())

 

Process 5  >  상금 등수 이탈 시 a or b의 값을 0으로 바꿔주는 조건문 작성

  • Process 3의 for문 내부에 작성
  • 2017년의 경우에는 21명이, 2018년에는 31명의 참가자가 상금을 받을 수 있었기에 참고하여 조건문 작성
    if a > 21:
        a = 0
    if b > 31:
        b = 0

 

Process 6  >  받을 상금 원 단위로 출력

  • Process 3의 for문 내부에 작성
  • 2017년에는 a등, 2018년에는 b 등을 했기에 이미 만들어 둔 list에 등수 입력하기
  • 등수에서 벗어날 시 0등으로 처리된다
  • 원 단위로 출력해야하기에 만(10000)을 곱해서 출력한다
rew = (K_2017[a] + K_2018[b])*10000
    # 결과 출력
    print(rew)

 

Process 0 >  Result Code

# 2017년 코드 페스티벌 등수에 따른 상금
# 순위권 외적인 부분을 표현하기 위해 리스트의 0번째 부분은
# 상금을 0으로 두었다
K_2017 = [0, 500]
for i in range(2):
    K_2017.append(300)
for i in range(3):
    K_2017.append(200)
for i in range(4):
    K_2017.append(50)
for i in range(5):
    K_2017.append(30)
for i in range(6):
    K_2017.append(10)
# 2017년 코드 페스티벌 등수에 따른 상금
# 마찬가지로 리스트의 0번째 부분은
# 상금을 0으로 두었다
K_2018 = [0, 512]
for i in range(2):
    K_2018.append(256)
for i in range(4):
    K_2018.append(128)
for i in range(8):
    K_2018.append(64)
for i in range(16):
    K_2018.append(32)
# 가정한 횟수 T
T = int(input())
# T회동안의 로직
for i in range(T):
    # 1회차 등수, 2회차 등수 입력
    a, b = map(int, input().split())
    # 순위권 밖일 경우 상금을 0으로 두는 작업 진행
    if a > 21:
        a = 0
    if b > 31:
        b = 0

    # 리스트의 0번째 값이 0이므로 a, b는 그대로 들어가면된다
    rew = (K_2017[a] + K_2018[b])*10000
    # 결과 출력
    print(rew)

주의할 점

  • a, b의 값이 정해진 리스트의 인덱스에서 벗어나도록 하지 않도록 한다
  • list의 index가 30개인데 변수에 32, 31, 200 이런 수가 들어갈 경우 오답으로 처리되니 주의하자
728x90
저작자표시 비영리 변경금지 (새창열림)

'Coding Test > BaekJoon_Python' 카테고리의 다른 글

BaekJoon - 10809번: 알파벳 찾기 (문자열, PYTHON)  (0) 2022.11.01
BaekJoon - 2747번: 피보나치 수 (수학/구현, PYTHON)  (0) 2022.10.12
BaekJoon - 1237번: 정ㅋ벅ㅋ(1 차원 생각, PYTHON)  (0) 2022.10.06
BaekJoon - 15596번: 정수 N개의 합(함수, PYTHON)  (0) 2022.09.05
BaekJoon - 4344번: 평균은 넘겠지(1차원 배열, PYTHON)  (0) 2022.09.04
'Coding Test/BaekJoon_Python' 카테고리의 다른 글
  • BaekJoon - 10809번: 알파벳 찾기 (문자열, PYTHON)
  • BaekJoon - 2747번: 피보나치 수 (수학/구현, PYTHON)
  • BaekJoon - 1237번: 정ㅋ벅ㅋ(1 차원 생각, PYTHON)
  • BaekJoon - 15596번: 정수 N개의 합(함수, PYTHON)
ThreeLight
ThreeLight
ThreeLight Studio의 블로그, TimeMap.exe에 오신 것을 환영합니다.
  • ThreeLight
    TimeMap.exe
    ThreeLight
  • 전체
    오늘
    어제
    • 분류 전체보기 (245)
      • Checkpoint (1)
      • (3D)Dev Deep Dive (0)
        • Templates & Guides (9)
        • Frontend origin (9)
        • Backend origin (1)
        • TroubleShootings (4)
      • Development Study (95)
        • Frontend (36)
        • Backend (21)
        • CS(Computer Science) (2)
        • Background Knowledges (11)
        • Algorithm (2)
        • Mobile (3)
        • AWS (6)
        • Python (6)
        • MSW(MapleStoryWorlds) (8)
      • Coding Test (59)
        • 문제.zip (1)
        • BaekJoon_JavaScript (0)
        • Programmers_JavaScript (9)
        • BaekJoon_Python (23)
        • Programmers_Python (10)
        • Undefined_Python (3)
        • Programmers_SQL (13)
      • 활동내역.zip (43)
        • 개인 (21)
        • Techeer (12)
        • Bootcamp (7)
        • Hackathon (1)
        • TeamProjects (2)
      • 여기 괜찮네??(사이트 | App) (5)
      • 재미있는 주제들 (8)
      • 개발 외 공부 저장소 (11)
        • 생산운영관리 (3)
        • 생활속의금융 (6)
        • 경영정보시스템 (2)
  • 링크

    • TimeMap.dmg (Portfolio)
    • GitHub 바로가기
    • 오픈프로필(카카오톡)
    • Medium 바로가기
    • Disquiet 바로가기
    • LinkedIn 바로가기
  • 인기 글

  • 태그

    프로그래머스
    Python
    programmers
    TypeScript
    JavaScript
    HTML
    SQL
    CSS
    Baek Joon
    react
  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.1
ThreeLight
BaekJoon - 15953번: 상금 헌터 (카카오 코드 페스티벌, PYTHON)
상단으로

티스토리툴바