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));