문제가 길다고 어려운 것은 아니다. 차근차근 읽어보고 해결책을 찾아보면
대개 긴 문제들이 오히려 쉬울 가능성이 높다는 것을 느낀다.
악보 (1<=N<=10000)개, 각 악 보당 비트(0<=bi<=120)의 정보가 주어진다.
처음에는 2차원 배열을 쓰는 문제인가 생각하다가
손으로 그려보면서 풀어보니 1차원 배열로 푸는 것이 답을 구하는데 더 좋다고 판단했다.
1차원 배열의 범위는 10000 * 120 => 1200000
백이십만개 정도면 된다.
악보의 비트 정보가 주어지면
그 해당 배열에 악보넘버를 저장해주는 식으로 입력을 구성했다.
for(악보범위 i)
while()
arr[전역변수로 관리하는 인덱스, 곧 시간] = i(악보번호)
로 저장해주면
ques가 날라왔을 때(시간) 바로 인덱스로 접근해서 답을 도출해내면 된다.
'알고리즘문제풀이' 카테고리의 다른 글
더블릿_종이 자르기(소트) (0) | 2015.04.14 |
---|---|
더블릿_스위치상태 (0) | 2015.04.14 |
면접알고리즘시그_1주차 (0) | 2015.04.09 |
2670_연속부분최대곱 (0) | 2015.04.09 |
2668_숫자고르기 (0) | 2015.04.09 |