3은로그

[프로그래머스] Lv2. 최댓값과 최솟값 본문

코딩테스트

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

3은 2023. 11. 24. 20:45
728x90

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

 

프로그래머스

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

programmers.co.kr

 

문제

 

 

 

코드

 

function solution(s) {
    s = s.split(" ").map(v => Number(v)).sort((a,b) => a - b)
    return Math.min(...s)+"" + " " + Math.max(...s);
}

 

1. 문자열을 공백으로 나눠서 배열에 저장

2. map으로 배열을 순회하면서 각 요소를 숫자로 변환

3. 오름차순으로 정렬

4. 가장 작은 값과 가장 큰 값을 공백으로 연결

 

-> 원래 정렬한 후 s[0] + " " + s[length-1]을 리턴하려고 했는데 뭔가 잘 되지 않아서 min과 max를 사용했다.

테스트는 통과했지만 코드를 다시 보니 쓸데없이 정렬를 한 것을 알게되었다.

또한 min과 max는 문자열을 넣는 것도 가능하다. 따라서 map으로 순회하며 하나씩 숫자형으로 바꿔주는 것도 필요없는 과정이다.

앞으론 제출하기 전에 코드를 다시 확인하는 습관을 가져야겠다.

 

 

수정 코드

 

function solution(s) {
    s = s.split(" ");
    return Math.min(...s) + " " + Math.max(...s);
}