카테고리 없음

[JS] codesignal 1일 1문제 풀기 - firstDuplicate

햄❤️ 2021. 4. 25. 01:31
반응형

문제링크

 

 

<<문제>>

 

<<소스>>

function firstDuplicate(a) {
	//mySet 이라는 빈 Set 객체 생성
	let mySet = new Set();
    for (let i = 0; i < a.length; i++){
    	//만약 Set에 a[i]번째가 있으면, 2번째 반복이므로 바로 반환, 없으면 추가
        if(mySet.has(a[i])){
            return a[i]
        }else{
            mySet.add(a[i])
        }
    }
    //a 배열을 다 돌았는데 반복되는 값이 없다면 -1 리턴
    return -1
}

 

 

JavaScript Set

  • Set 객체는 자료형에 관계 없이 원시 값과 객체 참조 모두 유일한 값을 저장할 수 있다

        => Set 객체 안에 값은 유일하다

 

  • new Set([iterable])

        =>반복 가능한 객체가 전달되면 새로운 Set에 추가되며, 매개변수를 명시하지 않거나 null 전달하면 비어있는 상태가 된다.

 

  • Method

       - Set.size = 길이

       - Set.clear() = 모든 요소 제거

       - Set.has(value) = 객체 내 주어진 값을 갖는 요소가 있는지 boolean 값을 반환

       - Set.delete(value) = 삭제

       - Set.add(value)  = 추가

 

 

 

 

 

 

728x90
반응형