알고리즘/프로그래머스 - JS
[프로그래머스] level.2 최댓값과 최솟값
개발자성장기
2022. 9. 22. 07:11
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/12939
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
나의 풀이
그냥 보자마자 reduce가 생각이 났다.
하지만 다른 사람 풀이 보니까
아 이렇게 하면 더 쉬운데... 라는 생각이 들었다. 하지만 뭐 나한테는 이게 쉬웠고 바로생각나서 이렇게 했다.
function solution(s) {
return s.split(" ").reduce((acc,cur) =>{
acc[1] = acc[1] ?(+cur > acc[1] ? +cur : acc[1]) : +cur
acc[0] = acc[0] ?(+cur < acc[0] ? +cur : acc[0]) : +cur
return acc
},[]).join(" ")
}
다른 사람 풀이
1)Math
function solution(s) {
const arr = s.split(' ');
return Math.min(...arr)+' '+Math.max(...arr);
}
Math.min 과 Math.max를 활용하면 더 쉽다.
2) sort 활용도 가능하다.
function solution(s) {
var arr = s.split(' ');
arr.sort((a, b) => a - b);
var answer = arr[0] + " " + arr[arr.length-1];
return answer;
}
반응형