LeetCode 문제 풀이
[LeetCode] 284번 문제를 풀어보았다. (ft. java)
pantrom
2022. 4. 25. 20:19
2022년 04월 25일 월요일 - 월욜 시러
오늘 올려볼 문제는 284번 Peeking Iterator 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
요즘 왤케 구현문제 마늠?
입력
입력을 설명하기 애매한 문제다. 문제를 참고해주길 바란다.
풀이 및 코드
peek이 가능한 iterator를 구현하는 문제다.
오늘은 처음부터 정답을 생각해냈다.
boolean 하나와 저장할 변수 하나로 미리 저장해둔 다음에 문제를 풀었다.
이제 코드를 봐보자!
풀이코드
class PeekingIterator implements Iterator<Integer> {
int save = 0;
boolean isPeeked = false;
Iterator<Integer> it;
public PeekingIterator(Iterator<Integer> iterator) {
it = iterator;
}
public Integer peek() {
if(isPeeked) return save;
save = it.next();
isPeeked = true;
return save;
}
@Override
public Integer next() {
if(isPeeked)
{
isPeeked = false;
return save;
}
return it.next();
}
@Override
public boolean hasNext() {
if(isPeeked) return true;
return it.hasNext();
}
}
제출 화면
구현 문제가 너무 많이 나와서 요즘 재미가 별로 없다.
내일은 재밌는 문제가 나왔으면 좋겠다.
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.