문제
9개 요소가 있는 배열이 있습니다. 이 배열의 7개의 합이 100일 때, 100을 이루는 7개의 요소를 구하세요.
function solution(arr) {
let answer = arr;
let sum = arr.reduce((a, b) => a + b, 0); //reduce로 배열의 합을 구한다.
for (let i = 0; i < arr.length; i++) {
for (let j = i + 1; j < arr.length; j++) {
//이중for문으로 배열 중 두 요소를 경우의 수로 묶는다.
if (sum - (arr[i] + arr[j]) === 100) {
//sum에서 인덱스 i,j의 값을 더한 값이 100이면 이 때의 i,j가 탈락해야함.
arr.splice(j, 1);
arr.splice(i, 1); //splice로 배열의 특정 인덱스 값 1개를 삭제.
}
}
}
return answer;
}
let arr = [20, 7, 23, 19, 10, 15, 25, 8, 13];
console.log(solution(arr));
'Algorithm & 자료구조 > (인프런) 자바스크립트 알고리즘 문제풀이' 카테고리의 다른 글
[알고리즘]문자 찾기 - 문자열에 특정 문자가 몇 개 있는지?(split) (0) | 2022.01.25 |
---|---|
[알고리즘] A를 #으로 - 특정 문자열 치환 (replaceAll) (0) | 2022.01.25 |
[알고리즘]10부제 - 일의 자리 숫자 비교 (0) | 2022.01.25 |
[알고리즘] 1부터 n까지의 합 (0) | 2022.01.20 |
[알고리즘]배열의 최솟값 (for 문) (0) | 2022.01.20 |