IT/Computer Science
[Leetcode/Sliding Window] 1876. Substrings of Size Three with Distinct Characters
Diana Kang
2025. 3. 3. 22:52
class Solution:
def countGoodSubstrings(s: str) -> int:
count = 0
for i in range(len(s) - 2): # 길이가 3인 모든 부분 문자열을 검사
substring = s[i:i+3] # 길이 3의 부분 문자열 추출
if len(set(substring)) == 3: # 중복 문자가 없는지 확인
count += 1
return count
- set() => 중복을 허용하지 않는 집합(set) 자료형을 생성하는 함수
- 중복 제거: 리스트나 문자열 등의 중복된 요소를 자동으로 제거.
- 순서 없음: 요소의 순서가 보장되지 않음.
- 빠른 멤버십 테스트 (in 연산): 리스트보다 빠르게 특정 요소가 존재하는지 확인할 수 있음.
- for in range() => 이상 ~ 미만
# 리스트에서 중복 제거
numbers = [1, 2, 2, 3, 4, 4, 5]
unique_numbers = set(numbers)
print(unique_numbers) # {1, 2, 3, 4, 5}
# 문자열에서 중복 제거
text = "banana"
unique_chars = set(text)
print(unique_chars) # {'b', 'a', 'n'}