일정한 범위의 숫자의 연속성을 표현하는 알고리즘
글쓴이: mandugukbap / 작성시간: 수, 2010/10/20 - 4:09오전
물어보고 싶은 내용을 한 줄 제목으로 표현하기가 참 힘드네요.
우선, 다음과 같은 일을 하는 클래스를 만드는게 목적입니다.
1) 0에서 1000사이에 있는 여러 숫자들을 담는 데이터 구조로 문자열을 사용하고자 합니다.
예를 들어 "1,4,7,9,100,120,246" 와 같을 것입니다.
2) 여기서 연속되는 숫자는 일일히 나열하지 않고 - 을 이용해 범위로 표현을 하고자 합니다.
예를 들어 "0-73,220,222,401-516"과 같겠죠.
3) 여기다 어떤 숫자를 삽입할 경우 자동으로 2)와 같이 저장이 되어야 합니다.
즉, 위의 예제에 221을 넣을 경우 "0-73,220-222,401-516"이 되야 할 것 입니다.
4) 숫자들은 정렬되어 저장되어야 합니다.
우선 여기까지 구현하고자 하는데 이걸 가장 효율적인 방법(시간, 공간 복잡도가 가장 낮은 방법)으로 구현하려면 어떻게 하는게 좋을까요? 숫자 범위 내에서 선형탐색하는 것은 절대 고려하지 않습니다.
여러분은 이런걸 어떻게 구현하시나요?
Forums:
댓글 달기