
푼 문제 : 최댓값과 최솟값
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을 더 공부하고싶다는 생각이 들었다