https://app.codility.com/programmers/lessons/4-counting_elements/max_counters/
MaxCounters coding task - Learn to Code - Codility
Calculate the values of counters after applying all alternating operations: increase counter by 1; set value of all counters to current maximum.
app.codility.com
내가 처음 제출한 코드이다.
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
var counter = new Array(N);
counter.fill(0);
A.forEach((e, i) => {
if (e > N) {
counter.fill(Math.max.apply(null, counter));
} else {
counter[e-1]++;
}
})
return counter;
}
스코어는 77을 기록했다. 정확성에서는 문제가 없었으나, 성능 문제가 있었다.
Codility - MissingInteger 풀이 (Javascript)
문제 N개의 정수로 이루어진 배열 A가 주어졌을 때, A에 존재하지 않는 가장 작은 양의 정수를 반환하는...
blog.naver.com
새로 제출한 코드는 위의 블로그를 참조하여 작성했다.
function solution(A) {
A.sort(function(a, b) {
return a-b;
});
var min = 1;
A.forEach((e, i) => {if (A[i] > 0 && A[i] == min) min++;})
return min;
}
스코어는 100을 기록했는데,
위의 코드에서 A.sort()로 단순히 오름차순 정렬하면 정확성과 성능 모두에서 차이가 있었다.
단순히 sort()를 하면 문자열로 정렬되기 때문이다.
정렬에 관해서 자세히 찾아보는 것이 좋겠다.
'코딩 테스트 > Codility' 카테고리의 다른 글
Codility PermCheck JavaScript 풀이 (0) | 2020.03.30 |
---|---|
Codility MissingInteger JavaScript 풀이 (0) | 2020.03.30 |
Codility FrogRiverOne JavaScript 풀이 (0) | 2020.03.29 |
Codility TapeEquilibrium JavaScript 풀이 (0) | 2020.03.29 |
Codility PermMissingElem JavaScript 풀이 (0) | 2020.03.29 |