저장을 습관화

프로그래머스 LV.2 최댓값과 최솟값 본문

코딩 테스트/프로그래머스 - 자바스크립트

프로그래머스 LV.2 최댓값과 최솟값

ctrs 2023. 9. 21. 17:23

프로그래머스 LV.2 최댓값과 최솟값

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

 

프로그래머스

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

programmers.co.kr

 

1. 문제 명

최댓값과 최솟값


2. 문제 설명

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

 

예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.


3. 제한 사항

- s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.


4. 예시

s return
"1 2 3 4" "1 4"
"-1 -2 -3 -4" "-4 -1"
"-1 -1" "-1 -1"


5. 기본 제공 코드

function solution(s) {
    var answer = '';
    return answer;
}


6. 제출한 내 답

const solution = (s) => {
  let a = [];
  a.push(
    Math.min(...s.split(" ").map((v) => parseInt(v))),
    Math.max(...s.split(" ").map((v) => parseInt(v)))
  );

  return a.join(" ");
};

 

6-2. VSC에 작성한 내용

const solution = (s) => {
  let a = [];
  a.push(
    Math.min(...s.split(" ").map((v) => parseInt(v))),
    Math.max(...s.split(" ").map((v) => parseInt(v)))
  );

  return a.join(" ");
};

// 테스트
console.log(solution("1 2 3 4"));
console.log(solution("-1 -2 -3 -4"));
console.log(solution("-1 -1"));


7. 특이사항

없음


8. 다른 사람이 작성한 답

8-1.

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

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

아 문자열도 Math.max, Math.min이 되는구나

 

8-2. 배열화, 정렬 후 첫번째 요소와 두번째 요소

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

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

    return answer;
}