코딩 테스트 연습/Programmers

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

은돌1113 2023. 9. 19. 09:33

문제 설명

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

문제풀이

  • 나의 풀이
    • sort를 사용하여서 문자열을 오름차순으로 정렬한 후,
      at() 메서드를 사용하여 0번째와 마지막 index의 값을 템플릿 리터럴(``)을 사용하여 반환한다. 
function solution(s) {
  let answer = "";

  const sortResult = s.split(" ").sort((a, b) => a - b);

  answer = `${sortResult.at(0)} ${sortResult.at(-1)}`;
  // at() : 정수를 값으로 받아 배열의 해당 인덱스의 요소를 반환하는 메서드입니다.
  // 흔히 사용하는 대괄호 표기법([])과 유사하지만, 마지막 요소를 가져오고 싶을 때는 Array.at(-1)을 사용하여 쉽게 마지막 요소를 가져올 수 있습니다.

  return answer;
}

solution("1 2 3 4");
solution("-1 -2 -3 -4");
solution("-1 -1");
  • 다른 사람의 풀이
    • Math.max()와 Math.min()을 사용하여 배열(s.split(" "))에서 최댓값과 최솟값을 찾아 반환한다.
function solution(s) {
  let answer = "";

  answer = Math.min(...s.split(" ")) + " " + Math.max(...s.split(" "));

  return answer;
}

solution("1 2 3 4");
solution("-1 -2 -3 -4");
solution("-1 -1");
 

프로그래머스

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

programmers.co.kr