on your mark
[Codility]FirstUnique (Javascript) 본문
1차 시도
A 배열의 요소의 마지막 순서와 첫번째 순서가 같으면 요소가 1개라는 의미이므로 고유값인 것을 의미
Detected time complexity: O(N\2)**
function solution(A) {
let answer = A.filter( (ele) => {
return A.indexOf(ele) === A.lastIndexOf(ele)
})
return answer.length > 0 ? answer[0] : -1;
}
timeout이 일어나서 수정
2차 시도
obj객체를 만들어 해결
function solution(A){
let obj = {};
for(let i=0; i<A.length; i++){
obj[A[i]] = obj[A[i]] ? [0,0,0] : [1,i,A[i]]; //obj객체에 없으면 [0, blah]를 넣는다 :: obj객체에 있으면 [1, 위치, ele]를 넣는다.
}
let answer = Object.values(obj).filter(ele => ele[0] > 0); //obj객체에서 0인것 제외
if(answer.length === 0) return -1;
return answer.sort(function(a,b){ //정렬 후(1번째 값(위치) 기준으로) ele return
return a[1]-b[1]
})[0][2]
}
'Coding Test' 카테고리의 다른 글
[Codility] StrSymmetryPoint (Javascript) (0) | 2022.05.11 |
---|