본문 바로가기
Programming & Platform/JavaScript

javascript 배열 안 숫자 중 최대값 찾는 다양한 방법 - 알고리즘 풀이

by 코드스니펫 2023. 10. 16.
반응형

javascript 배열 안 숫자 중 최대값 찾는 다양한 방법 - 알고리즘 풀이

 

자바스크립트 로고

 

숫자로 이루어진 배열 안의 최대값을 찾는 방법에 대해 필자가 해결한 방법과 그 외의 다양한 해결 방법에 대해 소개하겠습니다.

 

javascript 배열 안 숫자 최대값 찾기

 

필자는 for문을 활용하여 문제를 해결하였습니다.

 

function find_max_num(array) {
    var result =0;

    for(let i=0;i<array.length;i++){
        if(array[i]>result) result =array[i];

    }

    return result;
}

console.log("정답 = 6 / 현재 풀이 값 = ", find_max_num([3, 5, 6, 1, 2, 4]));
console.log("정답 = 6 / 현재 풀이 값 = ", find_max_num([6, 6, 6]));
console.log("정답 = 1888 / 현재 풀이 값 = ", find_max_num([6, 9, 2, 7, 1888]));

 

배열을 입력 받는 find_max_num을 생성한 후 그 안에 result 변수 안에 초기 0값을 넣고 입력받은 배열의 크기만큼 for문을 돌면서 result 숫자와 배열 안 숫자와 비교하여 둘 중 큰 값을 result 안에 넣습니다. 그렇게 for문을 다 돌게되면 결국 배열 안의 최대값 만이 남아 있게 되는 방식의 알고리즘입니다.

 

 

그외의 해결방법

배열 안 max를 찾는 방법에는 여러가지가 있습니다. 

 

Spread Operator(전개 연산자)와 Math.Max() 활용

 

 

전개 구문 - JavaScript | MDN

전개 구문을 사용하면 배열이나 문자열과 같이 반복 가능한 문자를 0개 이상의 인수 (함수로 호출할 경우) 또는 요소 (배열 리터럴의 경우)로 확장하여, 0개 이상의 키-값의 쌍으로 객체로 확장시

developer.mozilla.org

 

이 방법들을 활용하면 위의 코드보다 훨씬 가독성 있게 코드를 수정할 수 있습니다.

 

function find_max_num(array) {
    let result = Math.max(...array);
    return result;
}

console.log("정답 = 6 / 현재 풀이 값 = ", find_max_num([3, 5, 6, 1, 2, 4]));
console.log("정답 = 6 / 현재 풀이 값 = ", find_max_num([6, 6, 6]));
console.log("정답 = 1888 / 현재 풀이 값 = ", find_max_num([6, 9, 2, 7, 1888]));

 

전개연산자를 통해 배열 안 값을 풀어 놓은 다음, 내장함수인 Math.Max()를 활용하여 max값을 가져오는 방식의 알고리즘입니다. for문을 쓸 때보다 확실히 가독성이 좋아졌습니다.

 

apply()를 활용

 

 

Function.prototype.apply() - JavaScript | MDN

apply() 메서드는 주어진 this 값과 배열 (또는 유사 배열 객체) 로 제공되는 arguments 로 함수를 호출합니다.

developer.mozilla.org

 

apply() 메소드는 this값과 배열을 받아 함수를 실행하는 데 사용합니다. 이를 활용하여 문제를 해결할 수도 있습니다.

 

function find_max_num(array) {
    
    let result = Math.max.apply(Math, array);

    return result;
}

console.log("정답 = 6 / 현재 풀이 값 = ", find_max_num([3, 5, 6, 1, 2, 4]));
console.log("정답 = 6 / 현재 풀이 값 = ", find_max_num([6, 6, 6]));
console.log("정답 = 1888 / 현재 풀이 값 = ", find_max_num([6, 9, 2, 7, 1888]));

 

끝으로 

 

javascript 배열 안 숫자 중 최대값을 구하는 방법에 대해 소개해드렸습니다. 필자의 문제풀이 뿐만 아니라 다양한 최대값 찾는 방법에 대해 보면서 활용하시길 바랍니다. 

 

▼ 아래 글도 읽어보세요! ▼

 

 

내일배움캠프 공부법 특강 - 개발자가 되기 위한 공부 방식, 태도 소개

내일배움캠프 공부법 특강 - 개발자가 되기 위한 공부 방식, 태도 소개 (최양임 매니저님 강의) 내일배움캠프 중 공부법 특강을 듣고 나서 강의 정리한 내용과 소감에 대해 작성하였습니다. 4개

lemonlog.tistory.com

 

 

Git과 Github 개념 및 차이점

Git과 Github 개념 및 차이점 코드 개발에 있어서 가장 먼저 배운 것은 Git과 Github 사용법 이었습니다. 그만큼 개발보다 중요한 '협업'을 위해서라면 필수적으로 사용할 줄 알아야 하는 Git과 Github의

lemonlog.tistory.com

 

 

Node.js 최신버전 설치 다운로드 방법, 설치 확인 방법

Node.js 최신버전 설치 다운로드 방법, 설치 확인 방법 Node.js를 사용하기 위해서는 설치 작업이 필수 입니다. 설치시 기본 다운로드 방법과 최신버전 다운로드 방법 및 설치과정, 설치가 제대로 이

lemonlog.tistory.com