본문 바로가기
Javascript

[코딩테스트] 최댓값과 최솟값 - Lv2

by yoonjong Park 2023. 10. 29.

문제

문제 설명

문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.

제한 조건

  • s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.
 
입출력 예 s / return
"1 2 3 4" "1 4"
"-1 -2 -3 -4" "-4 -1"
"-1 -1" "-1 -1"

 

나의 풀이

function solution(s) {
    const sorted_s = s.split(" ").sort((a,b)=> a-b)
    return sorted_s[0].concat( " " ,sorted_s[sorted_s.length-1]);
}

문자열에서 " " 제외하고 배열로 바꾼 뒤 오름차순 정렬했다.

그러고나서 index 0, index last 값을 이어줘서 return.

그러나 다른 사람 풀이 보니까...걍 Math 써도 되는 거였다. 문자열에 Math도 먹히네.

다음부터는 최소값 최대값 구할 때는 Math를 주로 활용하도록 해야겠다.

 

다른사람 풀이

function solution(s) {
    const arr = s.split(' ');

    return Math.min(...arr)+' '+Math.max(...arr);
}

 

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

 

프로그래머스

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

programmers.co.kr