인프런 커뮤니티 질문&답변
Set 자료구조 사용시 성능개선 유무 관련 질문드립니다.
작성
·
209
0
아래코드와 같이 '합의배열.includes(합)' 을 사용해서 중복체크를 하는방법도 있는데,
혹시, Set 자료구조를 써서 중복체크를 하는경우, 성능면에서 더 나은점이 있기 때문에 일부러 사용하신건지 궁금해서 질문드립니다.
<html>
<head>
<meta charset="UTF-8" />
<title>출력결과</title>
</head>
<body>
<script>
function solution(n, k, card) {
let answer;
let sumArr = [];
for (let i = 0; i < card.length - 2; i++) {
for (let j = i + 1; j < card.length - 1; j++) {
let sum = 0;
for (let k = j + 1; k < card.length; k++) {
sum = arr[i] + arr[j] + arr[k];
if (!sumArr.includes(sum)) sumArr.push(sum);
}
}
}
sumArr.sort((a, b) => b - a);
answer = sumArr[2];
return answer;
}
let arr = [13, 15, 34, 23, 45, 65, 33, 11, 26, 42];
console.log(solution(10, 3, arr));
</script>
</body>
</html>
퀴즈
Trong bài toán tổng chữ số, trong các số cùng tổng, đâu là đáp án cuối cùng?
Số phát hiện sớm nhất
số lớn nhất
가장 nhỏ nhất
Sao cũng được
답변 1
1
김태원
지식공유자
안녕하세요^^
set 자료구조는 중복체크를 해쉬테이블을 이용해 하는 걸로 알고 있습니다.
하지만 '합의배열.includes(합)' 방법은 O(n)의 으로 탐색하니까
set 방법이 더 효율적이라 생각합니다.






이해 됐습니다. 감사합니다!