SMALL
안녕하세요 남갯입니다.
public int[] solution(String S, int[] P, int[] Q) {
// write your code in Java SE 8
int[] result = new int[P.length];
char[] s = S.toCharArray();
for(char a : s){
}
S.replaceAll("A", "1");
S.replaceAll("C", "2");
S.replaceAll("G", "3");
S.replaceAll("T", "4");
int length = S.length();
int number = Integer.valueOf(S);
for (int i = 0; i < P.length; i++) {
result[i] = (int) ((number % Math.pow(10, length - P[i])) / Math.pow(10, length - Q[i]));
}
for (int i = 0; i < result.length; i++) {
int intResult = 0;
int n = result[i];
while (n != 0) {
intResult = (result[i] % 10);
n /= 10;
}
result[i] = intResult;
}
return result;
}
public int[] solution(String S, int[] P, int[] Q) {
// write your code in Java SE 8
int[] result = new int[P.length];
for (int i = 0; i < P.length; i++) {
String str = S.substring(P[i], Q[i] + 1);
if (str.contains("A")) {
result[i] = 1;
} else if (str.contains("C")) {
result[i] = 2;
} else if (str.contains("G")) {
result[i] = 3;
} else if (str.contains("T")) {
result[i] = 4;
}
}
return result;
}
- 회의후 풀이방식
나는 O(M*N)의 시간때문에 효율성에서 실패했다.
A G C T
의 각각의 배열별 숫자를 지정한다.
AGCCTAGC
A11111222
G01111122
C00122223
T00001111
각 배열의 변경된 앞뒤의 변경 여부를 구한다
LIST
'IT > 알고리즘' 카테고리의 다른 글
[코딜리티] - Lesson 5. CountDiv (1) | 2019.08.27 |
---|---|
[코딜리티] - Lesson 6. Distinct (0) | 2019.08.22 |
[코딜리티] - Lesson 5. PassingCars (0) | 2019.08.19 |
[코딜리티] - Lesson 4. MissingInteger (0) | 2019.08.13 |
[코딜리티] - Lesson 4. MaxCounters (0) | 2019.08.12 |