Count Items Matching a Rule
class Solution {
public int countMatches(List<List<String>> items, String ruleKey, String ruleValue) {
// ruleKey의 ruleValue에 해당하는 item의 개수 리턴
/**
items 리스트의 구조
items = [type, color, name]
items[i] = [type_i, color_i, name_i]
ruleKey와 ruleValue의 관계
ruleKey == "type" and ruleValue == type_i.
ruleKey == "color" and ruleValue == color_i.
ruleKey == "name" and ruleValue == name_i.
*/
int count = 0;
int idx = 0;
// ruleKey에 해당하는 인덱스를 먼저 구하기
switch(ruleKey) {
case "type":
idx = 0;
break;
case "color":
idx = 1;
break;
case "name":
idx = 2;
break;
}
// 향상된 for 문을 사용해서 item[인덱스]가 ruleValue에 해당하는지 확인
for (List<String> item : items) {
if (item.get(idx).equals(ruleValue)) {
count++; // 해당하면 count를 +1 하면 됨
}
}
// count 리턴
return count;
}
}
#99클럽 #코딩테스트 준비 #개발자 취업 #항해99 #TIL