Javascript
230609 자바스크립트 배열 예제
hyerin1201
2023. 6. 9. 17:30
// 4. 각 숫자들의 합중에서 가장 큰 값을 출력. (만약 큰값이 2개이상인 경우 원래의 숫자와 비교해서 상대적으로 큰 숫자만 출력)
let arr = [128, 460, 604, 40, 521, 137, 123];
function solution(arr) {
let answer = 0; // 각 숫자들의 합이 동률일때 원래 숫자크기 비교
let max = Number.MIN_SAFE_INTEGER; // arr의 각 숫자들의 합
for(let el of arr) {
let sum = el.toString().split("").reduce((a, b) => Number(a) + Number(b), 0);
if(sum > max) {
max = sum;
answer = el;
} else if (sum === max) {
if(el > answer) {
answer = el;
}
}
}
return answer;
}
console.log(solution(arr));
// 5. 배열객체의 숫자들중 3개를 선택해서 더한 값들 중 3번째로 큰 값 출력
let arr = [13, 15, 34, 23, 45, 65, 33, 11, 26, 42];
function solution(n, k, card) {
let answer = 0;
let tmp = new Set();
for(let i = 0; i < n; i++) {
for(let j = i + 1; j < n; j++) {
for(let k = j + 1; k < n; k++) {
tmp.add(card[i] + card[j] + card[k]);
}
}
}
let a = Array.from(tmp).sort((a, b) => b - a);
answer = a[k - 1];
return answer;
}
console.log(solution(10, 3, arr));