[ Codility 코딜리티 ] Lesson 5 GenomicRangeQuery Python 파이썬 풀이
// 문제 요약 DNA는 A,C,G,T라는 문자들로 구성된 S라는 긴 string으로 나타내 진다. A,C,G,T는 각각 1,2,3,4 의 impact factor를 가진다. S의 길이가 양의 정수 N이고 M개의 Query인 P,Q가 요청될때 S[P[K]] 이상 S[Q[K]] 이하의 가장 작은 impact factor는 얼마인가? 쿼리의 길이가 M 이므로 길이가 M인 배열로 반환하라. // 문제 풀이 아주 전형적인 Prefix sum algorithm 문제다. Prefix sum 알고리즘은 알면 풀고 모르면 못푸는 전형적인 문제라고 생각한다. 그러니까 아주 긴 데이터로 부터 아주 긴 쿼리가 요청될때는 O(M * N)이 되므로 사실상 O(N**2) 보다 더 커질 수도 있다. 따라서 이걸 O(N+M)까지 낮..
2021. 4. 17.