From 0c2b4ebcdc2e1af61143adb25acabf93eb884ab5 Mon Sep 17 00:00:00 2001 From: rimogsu Date: Sat, 19 Sep 2026 12:57:51 +0900 Subject: [PATCH] 284 --- .../v3/284. Peeking Iterator.py" | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 "leetcode3/\353\263\200\354\247\200\355\230\221/v3/284. Peeking Iterator.py" diff --git "a/leetcode3/\353\263\200\354\247\200\355\230\221/v3/284. Peeking Iterator.py" "b/leetcode3/\353\263\200\354\247\200\355\230\221/v3/284. Peeking Iterator.py" new file mode 100644 index 000000000..0ac194af9 --- /dev/null +++ "b/leetcode3/\353\263\200\354\247\200\355\230\221/v3/284. Peeking Iterator.py" @@ -0,0 +1,75 @@ +''' +1. 아이디어: +그냥 문제에 주어진대로 구현하면 됨. +2. 시간복잡도: +o(n) +3. 알고리즘: +''' + +# Below is the interface for Iterator, which is already defined for you. +# +# class Iterator: +# def __init__(self, nums): +# """ +# Initializes an iterator object to the beginning of a list. +# :type nums: List[int] +# """ +# +# def hasNext(self): +# """ +# Returns true if the iteration has more elements. +# :rtype: bool +# """ +# +# def next(self): +# """ +# Returns the next element in the iteration. +# :rtype: int +# """ + +class PeekingIterator: + it = [] + i = 0 + + def __init__(self, iterator): + """ + Initialize your data structure here. + :type iterator: Iterator + """ + tmp = [] + while iterator.hasNext(): + tmp.append(iterator.next()) + self.it = tmp + + + def peek(self): + """ + Returns the next element in the iteration without advancing the iterator. + :rtype: int + """ + return self.it[self.i] + + def next(self): + """ + :rtype: int + """ + tmp = self.it[self.i] + self.i +=1 + return tmp + + + def hasNext(self): + """ + :rtype: bool + """ + try: + tmp = self.it[self.i] + return True + except: + return False + +# Your PeekingIterator object will be instantiated and called as such: +# iter = PeekingIterator(Iterator(nums)) +# while iter.hasNext(): +# val = iter.peek() # Get the next element but not advance the iterator. +# iter.next() # Should return the same value as [val]. \ No newline at end of file