본문 바로가기
알고리즘 공부

프로그래머스 2단계 - 최댓값과 최솟값

by 코딩 냠냠 2022. 12. 8.
728x90
반응형

최댓값과 최솟값


문제 설명

문자열 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"

🐯내가 한 풀이

가장 먼저 split()을 활용하여 공백단위로 나누어준 후에 정렬을 해줍니다.
최솟값과 최대값을 구할 수 있는 Math메서드를 사용해 줍니다. 이때 배열을 불러와야 하므로 펼침연산자를 사용해줍니다^^!(처음에 그냥 써서 NaN뜬건 안비밀...ㅠㅠ)
지금 생각하니... Math.min과 Math.max 사용할꺼면 정렬할 필요가 없었는데... 습관적으로 해버렸다....

let s = "1 2 3 4";
function solution(s) {
    var answer = '';
    //공백단위로 자른 후에 정렬
    s = s.split(' ').sort((a,b) => a-b);
    answer = Math.min(...s)+ " " + Math.max(...s) 
    return answer;
}

🐯다른 풀이

배열을 오름차순으로 정렬 해준 후, 첫번째 숫자와 마지막 숫자를 바로 불러오는 경우도 있네요! 재미있는 문제 였습니다.

function solution(s) {
  var arr = s.split(' ');
  arr.sort((a, b) => a - b);

  var answer = arr[0] + " " + arr[arr.length-1];

  return answer;
}

댓글


자바스크립트

Javascript

자세히 보기
html
css
광고 준비중입니다.
<