각 nums[i]에 세 개의 요소[type_i, color_i, name_i]가 포함된 배열 nums가 있다고 가정합니다. i번째 항목의 유형, 색상 및 이름을 설명합니다. 또한 두 개의 다른 문자열(ruleKey 및 ruleValue)로 표시되는 규칙이 있습니다. 이제 다음 중 하나가 참인 경우 i번째 항목이 규칙과 일치한다고 말할 수 있습니다. -
-
ruleKey ="유형" 및 규칙 값 =type_i.
-
ruleKey ="색상" 및 ruleValue =color_i.
-
규칙키 ="이름" 및 규칙값 =이름_i.
찾을 수 있는 일치 항목의 수를 찾아야 합니다.
따라서 입력이 다음과 같으면
자전거 | 파란색 | 일렉비 |
자동차 | 실버 | 스모 |
자전거 | 파란색 | TVS |
그리고 ruleKey ="color", ruleValue ="blue"인 경우 [["Bike","blue","ElecB"] 및 ["Bike","blue","TVS가 일치하므로 출력은 2가 됩니다. "]].
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
개수 :=0
-
ruleKey가 "유형"과 같으면
-
범위 0에서 항목 크기까지의 i에 대해
-
항목[i, 0]이 ruleValue와 같으면
-
개수 :=개수 + 1
-
-
-
-
ruleKey가 "color"와 같으면
-
범위 0에서 항목 크기까지의 i에 대해
-
항목[i, 1]이 ruleValue와 같으면
-
개수 :=개수 + 1
-
-
-
-
ruleKey가 "name"과 같으면
-
범위 0에서 항목 크기까지의 i에 대해
-
항목[i, 2]이 규칙값과 같으면
-
개수 :=개수 + 1
-
-
-
-
반환 횟수
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예시
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