🔍 문제
✏️ 풀이 - JS
배열 A에서 순수 값(중복X)이 총 몇 개인지 구하는 문제이다. 먼저 배열을 오름차순으로 정렬한다. 그리고나서 current 변수에 현재 보고있는 값을 넣어주고, current와 값이 다른 값이 나왔다면 cnt(최종 return할 값)에 +1을 해주고, current값도 달라진 값으로 변경해준다. 그렇게 배열을 순회해가면서 값의 갯수를 찾아준다.
시간 복잡도는 O(N*log(N)) of O(N), 정확도와 효율성 모두 100%가 나왔다.
function solution(A) {
//빈 배열일 경우
if(A.length === 0) return 0;
A.sort((a, b) => {return a-b});
let current = A[0];
let cnt = 1;
for(let i = 1; i < A.length; i++) {
if(A[i] !== current) {
cnt++;
current = A[i];
}
}
return cnt;
}
'Algorithm > 문제풀이' 카테고리의 다른 글
Codility Lesson6 - NumberOfDiscIntersections (0) | 2019.08.11 |
---|---|
Codility Lesson6 - Triangle (0) | 2019.08.10 |
Codility Lesson6 - MaxProductOfThree (0) | 2019.08.09 |
Codility Lesson5 - CountDiv (0) | 2019.08.08 |
Codility Lesson5 - MinAvgTwoSlice (0) | 2019.08.08 |