Programmers

[프로그래머스][JS] 최댓값과 최솟값

winter17 2023. 6. 26. 18:09

https://school.programmers.co.kr/learn/courses/30/lessons/12939

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

풀이 과정

function solution(s) {
    let number = [];
    const arr = s.split(' ')
    for (let i = 0; i < arr.length; i++){
        number.push(Number(arr[i]))
    }
    let answer = '';
    answer += String(Math.min(...number))
    answer += ' '
    answer += String(Math.max(...number))
    return answer;
}

입출력 예를 보면 s 문자열이 공백을 기준으로 나눠져 있는 걸 볼 수 있는데 이걸 음수값을 그대로 보존하면서 분리하려면 split(' ') 메서드로 공백을 기준으로 나눠주면 된다. 

배열 길이만큼 반복문을 돌려서 나오는 요소들을 정수로 변환한 다음 number 배열에 push를 한다.

문제에서 '최소값 최댓값' 형태로 반환하라고 했기 때문에 number배열에서 최소 최대 값을 찾아서 answer 문자열에 더해준다. 

근데 중간에 공백이 있어서 공백도 중간에 더해준 후 반환해야 한다. 


리뷰

문제 풀 때 문자열을 숫자로 변경한 후에 다시 문자열로 변경해주었는데 다른 사람 문제 풀이를 보니까 문자열 자체로도 최대 최소 메서드를 사용할 수 있다는 것을 알았다.

또 다른 방법으로는 정렬을 사용해서 첫 번째 값과 마지막 값을 찾아서 반환하는 방법도 있다. 

lv.2 문제인데 오늘 푼 lv.0문제 보다 쉬운 것 같다..