본문으로 이동
코드패스 by Devin.KR

문제 5290 · 킬로 II

호텔 숙박 요금 정산

인증 제출 통계 · 5분마다 갱신 · 정답 비율 = 정답 제출 / 전체 제출
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1000ms / 테스트 (언어별 보정은 아래 표)메모리: 측정하지 않음(브라우저 채점)0000.00%

문제

호텔 예약 시스템의 요금 정산 모듈을 만든다. 호텔에는 M가지 객실 등급이 있고, 각 등급에는 평일 1박 기본 요금이 원 단위 정수로 정해져 있다. 예약은 등급, 숙박 일수 n, 첫날 밤의 요일 d로 이루어진다. 요일은 월요일이 0, 화요일이 1, …, 일요일이 6이다. 숙박의 k번째 밤(k는 0부터)의 요일은 (d+k) mod 7이다. 금요일 밤(4)과 토요일 밤(5)은 주말 요금을 적용하며, 주말 1박 요금은 floor(기본 요금 × 130 / 100)으로 소수점 이하를 버린다. 나머지 밤은 기본 요금 그대로이다. 모든 밤의 요금을 더한 값이 소계이다. 장기 숙박 할인은 n이 7 이상이면 소계의 10%, n이 3 이상 6 이하이면 5%, 그보다 짧으면 없으며 할인액은 floor(소계 × 비율 / 100)이다. 소계에서 할인액을 뺀 값을 A라 한다. 봉사료는 floor(A × 10 / 100)이고, 부가세는 (A + 봉사료)에 대해 floor((A + 봉사료) × 10 / 100)이다. 청구 총액은 A + 봉사료 + 부가세이다. 각 예약의 청구 총액을 입력 순서대로 구하시오.

입력

첫 줄에 등급 수 M과 예약 수 R이 주어진다. 이어 M개의 줄에 등급 이름과 기본 요금이 공백으로 구분되어 주어진다. 등급 이름은 영문 대소문자로만 이루어진 길이 1~10의 문자열이며 서로 다르다. 이어 R개의 줄에 예약의 등급 이름, n, d가 공백으로 구분되어 주어진다. 1 ≤ M ≤ 100, 1 ≤ R ≤ 200,000, 1 ≤ 기본 요금 ≤ 10^6, 1 ≤ n ≤ 365, 0 ≤ d ≤ 6. 예약의 등급 이름은 항상 주어진 등급 중 하나이다.

출력

R개의 줄에 i번째 예약의 청구 총액을 정수로 한 줄에 하나씩 출력한다.

예제 입력 1

2 3
STD 100000
DLX 250000
STD 2 4
DLX 3 0
STD 7 3

예제 출력 1

314600
862125
827640

예제 입력 2

1 2
A 999
A 1 6
A 4 5

예제 출력 2

1207
4937
힌트 펼치기
  • 7일마다 요일이 한 바퀴 돌므로 주말 밤의 수는 n÷7 몫에 2를 곱하고 나머지 밤만 직접 세면 된다.
  • 각 단계(주말 요금, 할인, 봉사료, 부가세)마다 내림을 따로 적용해야 한다.

출처: Devin.KR 자체 제작

알고리즘 분류구현수학

풀이 작성

연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.

Python 기본 시간 제한 = 문제 시간 제한 × 3 + 2초. 문제별 예외는 아래 표에 반영됩니다. 표준 라이브러리만 지원합니다.

Ctrl+Enter: 연습 채점 · Tab: 들여쓰기 · Esc 후 Tab: 다음 요소로 이동. 언어별 초안은 이 브라우저에 저장됩니다. JavaScript 입력: require('fs').readFileSync(0, 'utf8'), readline 또는 input().

로그인하면 인증 제출을 사용할 수 있습니다.

풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.

    연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.

    이 브라우저의 연습 기록

      언어별 제한

      테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.

      언어엔진(버전)시간 제한메모리
      javascript사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름)1000ms / 테스트측정하지 않음(브라우저 채점)
      pythonPyodide 314.0.7 (CPython 3.14 WASM)5000ms / 테스트측정하지 않음(브라우저 채점)