[Lv.2] 최댓값과 최솟값

지수·2025년 4월 15일

CodingTest

목록 보기
26/26
post-thumbnail

푼 문제 : 최댓값과 최솟값
https://school.programmers.co.kr/learn/courses/30/lessons/12939

문제 풀이

function solution(s) {
    var answer = '';
    let numbers = [];
    
    let str = s.split(" ");
    
    for(let x of str){
        numbers.push(parseInt(x));
    }
    
    let max = parseInt(str[0]);
    let min = parseInt(str[0]);
    
    for(let x of numbers){
        if(x > max){
            max = x;
        } else if(x < min){
            min = x;
        }
    }
    
    answer += min.toString().concat(" ", max.toString());
    
    return answer;
}
  • split(" ") : 공백을 기준으로 문자열을 나눔 (arry 형태로 반환)
  • parseInt : int 타입으로 변환
  • push() : 배열의 마지막에 값을 추가함
  • concat : 지정자를 사용해서 문자열로 합침

문제 풀이가 너무 길어서 다른 방법을 통해서도 풀어보았다

function solution(s) {
    var answer = '';
    
    answer = s.split(" ").map(a => parseInt(a));

    answer = Math.min(...answer) + " " + Math.max(...answer)
    
    return answer;
}
  • split(" ") : 공백을 기준으로 문자열을 나눔 (arry 형태로 반환)
  • .map(a => parseInt(a)) : a를 int 타입으로 변환함
  • ...(arry) : 전개 연산자(배열의 모든 값을 넘김)
  • Math.min / Math.max : Math의 내장 함수 - 최솟값, 최댓값을 찾음

TIL
함수를 적절히 사용하면 코드도 짧아지고 가독성도 좋아진다는 것을 알 수 있었다!
map을 더 공부하고싶다는 생각이 들었다

profile
개발자 꿈나무 여고생

0개의 댓글