공부/코딩테스트

코딩테스트3

뀨뿌뀨뿌 2023. 5. 17. 15:11

Q. Set 기본 문법

다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오.

1. var x = {1, 2, 3, 5, 6, 7}
2. var x = {};
3. var x = new Set('javascript');
4. var x = new Set(range(5));
5. var x = new Set();

😀 내가 푼 답

3, 5

😊 문제풀이 답안

3) var x = new Set('javascript');
5) var x = new Set();
정답은 '3번', '5번'입니다.

Set 객체
✔ 중복되지 않는 유일한 값들의 집합.
✔Set 객체의 특성은 수학적 집합의 특성과 일치
    => 따라서 Set은 수학적 집합을 표현한 자료구조
✔ 이를 통해 교집합, 합집합, 차집합, 여집합등을 구현하는 것이 가능
Set은 데티터 타입 중 하나로 중복되는 값을 가지지 않는 값들의 리스트
✔ Set 객체는 배열과 비슷하지만 차이가 있음
    ⭐ 동일한 값을 중복하여 포함할 수 없음.
    ⭐ 요소 순서에 의미가 없음.
    ⭐ 인덱스로 요소 접근이 불가능함.

Set 객체 생성해보기
Set 생성자 함수로 생성하고, 인수를 전달하지 않으면 빈 Set 객체가 생성됨
아래와 같이 생성자를 사용하여 set 객체를 생성할 수 있으며, 초기값으로 인터러블한 데이터를 input 으로 입력받으면 set 형태로 변환된 값이 저장됨
 인수로 이터러블을 받음.
 중복된 값을 Set 객체 요소로 저장되지 않으므로 배열에서 중복된 요소를 제거하는데 사용함

변수 setB에 할당 된 Set 객체는 배열을 입력받아 초기화하였는데 여기서 생성된 결과 값이 Set(5) {'1', 1, '2', 2, '4'}가 출력됨
  => 중복이 제거 된 데이터가 반환되지만 '1'과 1 이 분리된거 처럼 Set은 데이터 타입을 구분해서 저장할수 있음

const set = new Set()
console.log(set)   // Set(0) {}

const setB = new Set(["1", 1, 1, "2", 2, "4"])
console.log(setB)
// Set(5) {'1', 1, '2', 2, '4'}
/* 
[[Entries]]
0: "1"
1: 1
2: "2"
3: 2
4: "4"
size: 5
[[Prototype]]: Set
*/

Set 객체 자주 사용하는 내장함수
set.add(value) - Set 객체에 value 값을 저장
set.delete(value) - Set 객체에 value 값을 삭제
set.has(value) - Set 객체에 value가 있으면 true, 없으면 false를 리턴
set.clear() - Set 객체에 들어있는 데이터를 삭제
set.size - Set 객체에 들어있는 데이터의 개수를 리턴함

 

'공부 > 코딩테스트' 카테고리의 다른 글

코딩테스트 6  (0) 2023.05.26
코딩테스트 5  (0) 2023.05.26
코딩테스트 4  (0) 2023.05.26
코딩테스트2  (0) 2023.05.15
코딩테스트1  (0) 2023.05.14