मान लीजिए, हम 4 आइटम बेच रहे हैं और i-वें आइटम की कीमत 'लागत [i]' सरणी में दी गई है। अब हम आइटम को 'आइटम' स्ट्रिंग में दिए गए क्रम में बेचते हैं। हमें कुल बिक्री की राशि का पता लगाना है जो हमने की है। स्ट्रिंग 'आइटम' में 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