Daily iOS
Swift 언어

이터레이터의 이터레이터

[[1, 2], [], [3], [4, 5, 6]]처럼 '컬렉션의 컬렉션'을 받아 평평한 순서(1, 2, 3, 4, 5, 6)로 하나씩 꺼내 주는 이터레이터를 어떻게 설계하겠습니까? for-in에서 그대로 쓸 수 있어야 합니다.

면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
짧은 답 보기

IteratorProtocol을 채택한 struct가 바깥 이터레이터와 현재 안쪽 이터레이터를 상태로 갖고, next()에서 안쪽이 소진되면 다음 안쪽을 가져온다. Sequence 래퍼의 makeIterator()로 for-in 지원.

받은 질문 공유