สมมติว่าเรามีอาร์เรย์ items โดยแต่ละ items[i] มี 3 อิลิเมนต์ [type_i, color_i, name_i] อธิบายประเภท สี และชื่อของไอเท็มที่ i เรายังมีกฎโดย ruleKey และ ruleValue ไอเท็มที่ i ตรงกฎถ้า ruleKey="type" และ ruleValue=type_i หรือ ruleKey="color" และ ruleValue=color_i หรือ ruleKey="name" และ ruleValue=name_i หาจำนวนไอเท็มที่ตรงกฎ
เช่น items = [["Bike","blue","ElecB"],["Car","silver","Sumo"],["Bike","blue","TVS"]] ruleKey="color" ruleValue="blue" ผลลัพธ์คือ 2
ขั้นตอนการแก้ปัญหา
- count = 0
- ถ้า ruleKey == "type": วนลูป i ถ้า items[i][0] == ruleValue: count++
- ถ้า ruleKey == "color": วนลูป i ถ้า items[i][1] == ruleValue: count++
- ถ้า ruleKey == "name": วนลูป i ถ้า items[i][2] == ruleValue: count++
- คืน count
ตัวอย่างโค้ด
def solve(items, ruleKey, ruleValue):
count = 0
if ruleKey == "type":
for i in range(len(items)):
if items[i][0] == ruleValue:
count += 1
if ruleKey == "color":
for i in range(len(items)):
if items[i][1] == ruleValue:
count += 1
if ruleKey == "name":
for i in range(len(items)):
if items[i][2] == ruleValue:
count += 1
return count
items = [["Bike","blue","ElecB"],["Car","silver","Sumo"],["Bike","blue","TVS"]]
ruleKey = "color"
ruleValue = "blue"
print(solve(items, ruleKey, ruleValue))
ข้อมูลเข้า
[["Bike","blue","ElecB"],["Car","silver","Sumo"],["Bike","blue","TVS"]], "color", "blue"
ข้อมูลออก
2