Daily iOS
CS 기초·알고리즘

프리픽스 합과 이진 탐색

셀 높이가 제각각인 커스텀 세로 레이아웃(UICollectionViewLayout 서브클래스)을 만듭니다. layoutAttributesForElements(in rect:)가 스크롤마다 호출되는데, 셀 2만 개를 매번 순회하면 버벅입니다. 어떤 자료구조와 알고리즘으로 O(log n)에 보이는 셀 범위를 찾을 수 있나요?

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

높이의 프리픽스 합(누적 y 오프셋) 배열을 prepare()에서 만들고, rect.minY/maxY에 대해 이진 탐색(lower bound)으로 첫·끝 인덱스를 찾는다.

받은 질문 공유