본문 바로가기

자바스크립트67

[자바스크립트] 배열에서 최댓값/최솟값 구하기 MDN에 따르면 Math.max() 함수는 입력값으로 받은 0개 이상의 숫자 중 가장 큰 숫자를 반환한다. 인수 중 하나라도 숫자로 변환하지 못한다면 NaN을 반환한다. 아무 요소도 주어지지 않았다면 -Infinity를 반환한다. 문법 형태는 이러하다. Math.max([value1[, value2[, ...]]]) [예시] 다섯 개의 수 중에 최댓값을 구하는 예시이다. Math.max(1, 2, 3, 4, 5); 결과는 5가 나온다. 이번에는 배열을 하나 선언하고 이 배열의 원소들 중 최댓값을 구하려 한다. const numbers = [1,2,3,4,5]; Math.max(numbers); 결과는 NaN이 뜬다. [해결방법] apply() 메서드를 사용하면 된다. const numbers = [1,2.. 2021. 1. 18.
[자바스크립트/알고리즘] 두 배열 중복 값 제거 (concat, filter) 입력: [1,2,3,5], [1,2,3,4,5] 출력: [4] OR 입력: [1, "cafe", 3, "apple"], [1, "cafe", 3, 4] 출력: ["apple", 4] function findUniqElem(arr1, arr2) { return arr1.concat(arr2) .filter(item => !arr1.includes(item) || !arr2.includes(item)); } findUniqElem([1, 2, 3, 5], [1, 2, 3, 4, 5]); arr1과 arr2를 합친다음 ( 예시에서는 [ 1, 2, 3, 5, 1, 2, 3, 4, 5 ] ) filter() 메소드를 이용하여 arr1이나 arr2에 포함되어 있지않은 수를 반환한다. 2021. 1. 17.
[자바스크립트/알고리즘] 알파벳순 정렬(sort 함수) 입력: ["x", "h", "a", "m", "n", "m"] 출력: ["a", "h", "m", "m", "n", "x"] function alphabeticalOrder(arr) { // Only change code below this line return arr.sort((a, b)=>{ return a === b? 0: a 2021. 1. 16.
[자바스크립트/알고리즘] 양의 정수만 출력 (filter, map) 입력: positiveIntList([-3, 4.8, 5, 3, -3.2]); 출력: 5, 3 const positiveIntList = arr => { return arr.filter(num => num > 0 && num % parseInt(num) === 0) }; 결과값에 2승한 값을 출력하고 싶다면? const positiveIntList = arr => { return arr.filter(num => num > 0 && num % parseInt(num) === 0) .map(num => Math.pow(num,2)) }; map()을 추가해주면 된다. 문제 출처: www.freecodecamp.org 2021. 1. 16.
[자바스크립트/알고리즘] 두 정수 사이의 합 (Math.min, Math.max, ...arr) 입력: sumAll([1, 4]); 출력: 10 [4, 1]의 결과값도 10으로 동일하다. function sumAll(arr) { let sum = 0; for(let i = Math.min(...arr); i 2021. 1. 15.
[자바스크립트/알고리즘] 오름차순 정렬 후 추가한 값의 인덱스 찾기(sort 함수) (입력: 배열 하나와 추가할 숫자 하나 (예시: [2, 20, 10], 19) 출력: 2 ([2, 10, 19, 20]에서 새로 추가된 19의 인덱스 번호 2) function getIndex(arr, num) { arr.push(num); arr.sort((a,b)=>a-b); return arr.indexOf(num); } console.log(getIndex([2, 20, 10], 19)); 1. num을 배열 arr에 push한다. 2. 오름차순 정렬한다. 3. num의 인덱스 번호를 리턴한다. 또 다른 방법) 솔루션을 참고하였다. 정말 간단하다! function getIndexToIns(arr, num) { return arr.filter(val => num > val).length; } 난 생.. 2021. 1. 12.