app.codility.com/programmers/lessons/5-prefix_sums/genomic_range_query/
GenomicRangeQuery coding task - Learn to Code - Codility
Find the minimal nucleotide from a range of sequence DNA.
app.codility.com
1. 속도에서 점수 깍임
// you can also use imports, for example:
// import java.util.*;
// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");
class Solution {
public int[] solution(String S, int[] P, int[] Q) {
int []arrReturnValue = new int[P.length];
int []arrConvertedNum = new int[S.length()];
// 1. Convert String to Number (nucleotides)
for(int i = 0 ; i < S.length(); i++)
{
switch(S.charAt(i))
{
case 'A':
arrConvertedNum[i] = 1 ;
break;
case 'C':
arrConvertedNum[i] = 2 ;
break;
case 'G':
arrConvertedNum[i] = 3 ;
break;
case 'T':
arrConvertedNum[i] = 4 ;
break;
default:
break;
}
}
// 2. Find Min Number (nucleotides)
for(int i = 0 ; i < P.length ; i++)
{
int iTempMin = Integer.MAX_VALUE;
for(int j = P[i] ; j <= Q[i] ; j++)
{
if(iTempMin > arrConvertedNum[j])
{
iTempMin = arrConvertedNum[j];
if(iTempMin == 1)
break;
}
}
arrReturnValue[i] = iTempMin;
}
return arrReturnValue;
}
}
'Developer > Algorithm' 카테고리의 다른 글
[codility_] Distinct (0) | 2020.12.04 |
---|---|
[codility_] PassingCars (0) | 2020.12.04 |
[codility_] CountDiv (0) | 2020.12.01 |
[codility_] PermCheck (0) | 2020.12.01 |
[codility_] MissingInteger (0) | 2020.12.01 |