[PS]최댓값과 최솟값 (LV2)

프로그래머스 레벨2

최댓값과 최솟값

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

제한사항

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

풀이

function solution(s) {
  // 정답을 반환할 문자열
  let answer = "";
  // 적당히 엄청 작은 수
  let MAX = -99999999;
  // 적당히 엄청 큰 수
  let MIN = 99999999;

  // s를 배열로 바꾼뒤 forEach
  s.split(" ").forEach((e) => {
    // 현재값은 정수로 바꾼 e
    let temp = parseInt(e);
    // 만약 max보다 크면 최댓값 교체
    if (MAX <= temp) {
      MAX = temp;
    }
    // 만약 min보다 작으면 최솟값 교체
    if (MIN >= temp) {
      MIN = temp;
    }
  });

  // 반복문이 끝난뒤의 MIN과 MAX를 정답문자열에 형태에 맞게 더해줌
  answer += MIN + " ";
  answer += MAX + "";

  // 반환
  return answer;
}

마무리

생각한대로 바로풀린문제
혹시몰라 효율성을 따진다면 for문으로 바꿀생각을 하고있엇다
간단한 값 교환에대한 기초지식이 있다면 바로 풀수있는 문제라 lv2보단 lv1이 적당해보이는 문제

좋은 웹페이지 즐겨찾기