코딩테스트/LeetCode
[LeetCode/Python] 187. Repeated DNA Sequences
이긍빈
2025. 4. 14. 20:17
99클럽 코테 스터디 | 비기너 | 11일차
https://leetcode.com/problems/repeated-dna-sequences/description/
접근 방법
해시를 이용하여 문제를 해결하였음
1. input s에 나타나는 10개의 letter로 된 DNA Sequence들을 dna_dict의 key에 저장함
2. input에서 각 DNA Sequence들이 몇 번씩 출현하는지 횟수를 dna_dict의 value에 저장함
3. dna_dict에서 count가 2 이상인 key들을 output 리스트에 추가함
class Solution:
def findRepeatedDnaSequences(self, s: str) -> List[str]:
dna_dict = {}
for i in range(0, len(s) - 9):
dna = s[i:i+10]
dna_dict.setdefault(dna, 0)
for j in range(0, len(s) - 9):
dna_check_if_repeat = s[j:j+10]
if dna_check_if_repeat in dna_dict:
dna_dict[dna_check_if_repeat] += 1
output = []
for dna, count in dna_dict.items():
if count >= 2:
output.append(dna)
return output