4개의 품목을 판매하고 있고 i번째 품목의 가격이 'cost[i]' 배열에 있다고 가정합니다. 이제 'items' 문자열에 지정된 순서대로 항목을 판매합니다. 우리는 우리가 만든 총 판매 금액을 찾아야 합니다. 문자열 'items'에는 1에서 4 사이의 정수가 포함되어 있으며 중복 항목이 있을 수 있으며 순서에 관계없이 사용할 수 있습니다.
따라서 입력이 비용 ={10, 15, 10, 5}, 항목 ="14214331"인 경우 출력은 75가 됩니다.
단계
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
total := 0 for initialize i := 0, when i < size of items, update (increase i by 1), do: total := total + cost[items[i] - '0' - 1] return total
예시
더 나은 이해를 위해 다음 구현을 살펴보겠습니다.
#include <bits/stdc++.h> using namespace std; #define N 100 int solve(int cost[], string items) { int total = 0; for(int i = 0; i < items.size(); i++) total += cost[items[i] -'0' - 1]; return total; } int main() { int cost[] = {10, 15, 10, 5}; string items = "14214331"; cout<< solve(cost, items); return 0; }
입력
{10, 15, 10, 5}, "14214331"
출력
75