ALGORITHM/LeetCode
[leetcode] count-items-matching-a-rule.py
뚜비두빱
2022. 2. 20. 15:17
깔끔하게 풀어보고 싶어서 클래스와 메서드를 만들어서 풀이를 해봤다.
# https://leetcode.com/problems/count-items-matching-a-rule/
# count-items-matching-a-rule.py
class Solution:
def countMatches(self, items: List[List[str]], ruleKey: str, ruleValue: str) -> int:
class Rule:
def __init__(self):
self.typedict = {}
self.colordict = {}
self.namedict = {}
def change_dic(self, key):
if key == 'type':
dic = self.typedict
if key == 'color':
dic = self.colordict
if key == 'name':
dic = self.namedict
return dic
def insert(self, key, item):
dic = self.change_dic(key)
if item in dic:
dic[item] += 1
else:
dic[item] = 1
def find(self, k, v):
dic = self.change_dic(k)
return dic[v] if v in dic else 0
rule = Rule()
for i, item in enumerate(items):
rule.insert('type', item[0])
rule.insert('color', item[1])
rule.insert('name', item[2])
return rule.find(ruleKey, ruleValue)