code up 에는 js 문제가 없지만 js 버전으로 치환해서 풀어보도록 한다.
그래도 뭐 별문제 없어보임.
오늘의 문제.
1. 삼항연산자를 이용해서 정수 3개 입력받아 가장 큰 수 출력하기
function solution(n, m, l) {
var result = (n > m) ? n : m;
result = (result > l) ? result : l;
console.log(result);
}
solution(1, 91, 0);
근데 뭔가.................................. 좀 이상한 것 같다.
왜냐하면, 파라미터로 세개를 받아왔으니 두번 비교를 해서 출력하긴 했는데,
만약에... 파라미터가 한 200개 된다면.. 우짜지..?
그렇게 코드를 짜는 경우가 있을까만은..................................................
function solution(n, m, l, o, p) {
var result = (n > m) ? n : m;
result = (result > l) ? result : l;
result = (result > o) ? result : o;
result = (result > p) ? result : p;
console.log(result);
}
solution(1, 91, 0, -1, 300);
파라미터가 다섯개만 해도 코드가 이렇게 늘어진다.
줄여볼 수 있을까..?
찾았다. 파라미터를 배열로 받아주는 rest 파라미터가 있다.
function solution(...params) {
console.log("🚀 ~ file: codeup.html:132 ~ solution ~ params:", params);
var result = params.reduce((acc, crr) => (acc > crr) ? acc : crr);
console.log(result);
}
solution(1, 91, 0, -1, 300);
** 출력 화면 **
신난당 ㅋㅋㅋㅋ
제시된 조건대로 삼항연산자도 사용했고, 코드의 길이도 짧아졌으며
입력할 숫자의 갯수에도 제한이 없어졌다.
2. 정수 3개 입력받아 짝수만 출력하기
function solution(...params) {
// console.log("🚀 ~ file: codeup.html:132 ~ solution ~ params:", params);
var filter = params.filter(function(crr, idx, arr) {
var result = (crr % 2 == 0) ? true : false;
return result;
});
console.log("🚀 ~ file: codeup.html:135 ~ solution ~ result:", filter);
}
solution(1, 91, 2, -1, 300);
** 출력화면 **
3. 정수 3개 입력받아 짝/홀 출력하기
function solution(...params) {
// console.log("🚀 ~ file: codeup.html:132 ~ solution ~ params:", params);
var result;
params.forEach(function(n, i) {
if (n % 2 == 0) {
result = 'even';
console.log(n + ' is ' + result);
} else {
result = 'odd';
console.log(n + ' is ' + result);
}
});
}
solution(1, 91, 2, 57, 300);
** 출력화면 **
-끗-
'frontend > javaScript' 카테고리의 다른 글
[js / 알고리즘연습] codeup - q가 입력될때까지 출력하기, 합구하기, 16진수 구구단 출력하기 (0) | 2023.08.20 |
---|---|
[js / 알고리즘연습] codeup - 평가 입력받아 다르게 출력, 카운트다운 출력, 짝수 합 구하기 (0) | 2023.08.19 |
[js 기초] Object.values(), Object.keys(), Object.entries() (다른 메소드와 조합해서 활용해보기) (0) | 2023.08.17 |
[js 기초] map, reduce, filter (array와 object에 사용하기) (0) | 2023.08.16 |
?. << 옵셔널 체이닝이란?. (1) | 2023.07.13 |