https://leetcode.com/problems/count-items-matching-a-rule/description/
규칙에 맞는 항목 수 세기 (Count Items Matching a Rule)
문제 설명:
정해진 규칙에 따라 주어진 항목 목록에서 조건을 만족하는 항목의 수를 세는 문제입니다.
다음과 같은 형식으로 주어진 아이템 리스트가 있습니다:
- 각 아이템은 [type, color, name] 형태의 문자열 배열로 표현됩니다.
- 예를 들어, ["phone", "blue", "pixel"]은 유형이 phone, 색상이 blue, 이름이 pixel인 아이템을 나타냅니다.
특정 규칙이 ruleKey와 ruleValue로 주어집니다. ruleKey는 다음 중 하나입니다:
- "type": 아이템의 유형을 기준으로 필터링합니다.
- "color": 아이템의 색상을 기준으로 필터링합니다.
- "name": 아이템의 이름을 기준으로 필터링합니다.
ruleKey와 ruleValue가 주어질 때, 주어진 규칙을 만족하는 항목의 수를 반환하세요.
제약 사항:
- 1 <= items.length <= 10^4
- 1 <= items[i].length == 3
- 1 <= type.length, color.length, name.length, ruleValue.length <= 10
- items[i][j]와 ruleValue는 소문자 영문자로만 구성됩니다.
- ruleKey는 "type", "color" 또는 "name" 중 하나입니다.

풀이
class Solution:
def countMatches(self, items: List[List[str]], ruleKey: str, ruleValue: str) -> int:
result = 0
id = 0
if ruleKey == "type":
id = 0
elif ruleKey == "color":
id = 1
else:
id = 2
for i in items:
if i[id] == ruleValue:
result += 1
return result
풀이
type, color, name 의 인덱스는 순서대로 0,1,2
1. rulekey 값을 확인한다.
2. 그에 맞는 인덱스를 설정한다.
3. 각 키의 인덱스를 확인하고, 일치할 경우 카운팅한다.
4. 카운팅된 값을 리턴한다.
'Algorithm > 릿코드' 카테고리의 다른 글
99클럽 코테 스터디 21일차 2325. Decode the Message (0) | 2024.06.20 |
---|---|
99클럽 코테 스터디 20일차 1528. Shuffle String (0) | 2024.06.19 |
99클럽 코테 스터디 18일차 2942. Find Words Containing Character (0) | 2024.06.16 |
99클럽 코테 스터디 17일차 1512. Number of Good Pairs (0) | 2024.06.16 |
99클럽 코테 스터디 16일차 1470. Shuffle the Array (1) | 2024.06.14 |