🔍 문제
✏️ 풀이 - JS
function solution(S, P, Q) {
let resultArr = [];
for(let i = 0; i < P.length; i++) {
// slice메소드는 두 번째 index까지는 포함시키지 않으므로 포함해서 자를수있도록 +1 해줌
let temp = S.slice(P[i], Q[i]+1);
if(temp.indexOf('A') !== -1) {
resultArr.push(1);
} else if (temp.indexOf('C') !== -1) {
resultArr.push(2);
} else if (temp.indexOf('G') !== -1) {
resultArr.push(3);
} else {
resultArr.push(4);
}
}
return resultArr;
}
처음에 문제를 읽었을 때 도통 무슨 말인지 이해를 못하다가 예제를 보고 이해할 수 있었다. 문제에서 설명해준대로 머리 굴리지않고 그대로 풀었다. 문자열 S를 P, Q 배열 값을 slice 메소드의 인자로 넣어 잘라준 뒤, 가장 작은 값을 가진 A부터 시작해서 자른 문자열이 가지고 있는지 확인 한 후, 최종적으로 return할 resultArr 배열에 push 해주었다. 정확도 100% 효율성100%로 pass하였다.
'Algorithm > 문제풀이' 카테고리의 다른 글
Codility Lesson6 - MaxProductOfThree (0) | 2019.08.09 |
---|---|
Codility Lesson5 - CountDiv (0) | 2019.08.08 |
Codility Lesson5 - MinAvgTwoSlice (0) | 2019.08.08 |
Codility Lesson5 - PassingCars (0) | 2019.08.07 |
Codility Lesson4 - MissingInteger (0) | 2019.08.07 |