← 실전 문제

기본 요금과 상한 요금

C++빈칸 채우기

요청마다 기본 요금과 포함 이용량이 있어요. 일반 요금은 기본 요금에 '포함량을 초과한 이용량 × 초과 단가'를 더해요. 포함량 이하로 이용해도 기본 요금은 내요. 상한 요금은 일반 요금을 먼저 계산한 뒤 상한보다 크면 상한까지만 내요.

int solution(vector<vector<int>> requests)의 각 행은 [종류, 기본 요금, 포함량, 초과 단가, 상한, 이용량]이에요. 종류 0은 일반, 1은 상한 요금이에요. 종류 0의 상한은 사용하지 않아요. 두 빈칸을 채워 전체 요청의 요금 합을 반환해 주세요.

행 수는 050, 각 행 길이는 6이에요. 종류는 0 또는 1, 기본 요금·포함량·초과 단가는 각각 0100, 상한과 이용량은 0~1,000이에요. 빈 요청이면 0이에요. 같은 요청도 각각 계산하며 반환형은 int예요.

예시 1: requests = {{0, 10, 3, 2, 0, 5}, {1, 10, 3, 2, 12, 5}} → 26. 일반 요금 14와 상한 적용 후 12를 더해요.

예시 2: requests = {{1, 20, 10, 3, 15, 4}, {0, 20, 10, 3, 0, 4}} → 35. 포함량 안의 이용이라 기본 요금 20이고, 상한 종류만 15가 돼요.

실행 입력은 첫 줄 N, 다음 N줄에 행의 여섯 값이에요. main은 채점용이며 합을 출력해요. 작성 대상은 두 빈칸이에요.

예시 입력

2
0 10 3 2 0 5
1 10 3 2 12 5

예상 결과

26

예시 입력

2
1 20 10 3 15 4
0 20 10 3 0 4

예상 결과

35
핵심 개념
  • oop-inheritance-poly: 기반 함수와 파생 함수의 호출을 연결해요.
  • oop-class: 생성자와 멤버의 단위를 읽어요.
  • function-design: 보조 함수의 계약과 결과 조합을 확인해요.

코드 작성과 채점은 로그인 후 이용해요

로그인하고 풀기