[알고리즘] 홀수 합과 최솟값 구하기

전현정·2021년 12월 15일

알고리즘

목록 보기
15/18

문제설명

7개의 수가 주어지면 이들 중 홀수인 자연수들을 모두 골라 그 합을 구하고, 고른 홀수들중 최솟값을 갖는 프로그램을 작성하세요

문제풀이

  • 답을 두개 리턴 할 때는, 배열로 초기화 시키기
  • 홀수 찾는 조건 x % 2 === 1
  • 배열 asnwer에 sum 변수 push
function solution(arr){
  let answer = [];
  let sum = 0 , min = Number.MAX_SAFE_INTEGER;
  for( let x of arr ) {
    sum += x;
    
    if(x<min){
      min = x ;
    }
  }
}
answer.push(sum);
answer.push(min);

return answer;
}
let arr = [5, 7, 1, 3, 2, 9, 11];
console.log(solution(arr))
  • 배열의 각각의 item을 하나씩 비교해서 홀수인 값 찾기
    - 주어진 자연수를 2로 나눴을 때 1이 되는 수 찾기
  • 해당 조건이 참이면 변수 sum에 값 더해주기
  • 변수 x가 min 보다 작으면 min = x 에 대입
  • 마지막으로 push()를 통해 값 도출하기

최솟값 구하는 다른 방법

최솟값을 구한 땐 내장함수인 Math.min()을 이용 할 수 있다.

스프레드 오퍼레이터(Spread Operator)를 이용해 배열을 나열 시킨 후
Math.min()을 이용

function solution(arr){
  let answer
  answer = Math.min(...arr)
  return answer 
}
let arr = [5, 7, 1, 3, 2, 9, 11];
conslog.log(solution(arr));
profile
꾸준하기 위해 기록하는 개발자의 개발 일기

0개의 댓글