동까의 코딩

[99클럽] 28일차 TIL 본문

문제 풀이/99클럽

[99클럽] 28일차 TIL

동까의 코딩 2024. 6. 17. 18:48
반응형

https://leetcode.com/problems/iterator-for-combination/submissions/1291059479/

 

class CombinationIterator:

    def __init__(self, characters: str, combinationLength: int):
        self.len = len(characters)
        self.characters = characters
        self.pointers = [i for i in range(combinationLength)]
        self.pointers[-1] -= 1
        self.thres = [i for i in range(self.len - len(self.pointers), self.len)]

    def next(self) -> str:
        idx = 1
        while self.pointers[-idx] + idx >= self.len:
            idx += 1
        self.pointers[-idx] += 1
        idx -= 1
        while idx != 0:
            self.pointers[-idx] = self.pointers[-idx-1] + 1
            idx -= 1
        ans = ""
        for p in self.pointers:
            ans += self.characters[p]
        return ans

    def hasNext(self) -> bool:
        return self.pointers != self.thres

 

 

너무 어려운 문제라 코드를 참조해서 풀어보았습니다.

 

내일 다시 풀어볼 예정이고 이따가 정규 스터디에서 풀이법에 대해서 한번 더 익힐 예정입니다.

반응형

'문제 풀이 > 99클럽' 카테고리의 다른 글

[99클럽] 30일차 TIL  (0) 2024.06.19
[99클럽] 29일차 TIL  (0) 2024.06.18
[99클럽] 27일차 TIL  (0) 2024.06.16
[99클럽] 26일차 TIL  (0) 2024.06.16
[99클럽] 25일차 TIL  (0) 2024.06.14