day 21

JH·2024년 6월 26일

코딩테스트 연습 > 제일 작은 수 제거하기

문제 설명
정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.

제한 조건
arr은 길이 1 이상인 배열입니다.
인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.
입출력 예
arr return
[4,3,2,1][4,3,2]
[10][-1]


처음 생각은 arr에서 제일 작은 수는 Math.min(...arr)로 구할 수 있다 ->
이때 최솟값은 배열형식으로 나오는게 아니다 ->
빈 배열 A에 최솟값을 push()해준다.
이었는데 filter() reduce를하는 방식으로 답안을 작성하게되었다.

filter(num => 
        num !== min )

에서 filter안에 중괄호를 사용하니 오류가 나서 수정하였음.

➕ 배열 간의 뺄셈하는 방법?? -> filter 메서드를 이용 또는 reduce 메서드를 이용

예시 : filter 메서드 이용
let array1 = [1, 2, 3, 4, 5];
let array2 = [2, 4];

let result = array1.filter(item => !array2.includes(item));

console.log(result); // [1, 3, 5]

예시 : reduce 메서드 이용
let array1 = [1, 2, 3, 4, 5];
let array2 = [2, 4];

let result = array1.reduce((acc, current) => {
    if (!array2.includes(current)) {
        acc.push(current);
    }
    return acc;
}, []);

console.log(result); // [1, 3, 5]

👉 제출 답안

function solution(arr) {
    var answer = [];
    let min = Math.min(...arr)
  
    if(arr.length == 1) {
        answer = [-1];
    } else {
        answer = arr.filter(num => 
        num !== min )
    }
    
    
    return  answer;
}

fetch로 오픈API 사용하기

  1. let url = '오픈API주소'
  2. fetch 기본 골격
fetch("여기에 URL을 입력").then(res => res.json()).then(data => {
		console.log(data)
})
  1. fetch는 주로 반복문과 같이 활용된다

0개의 댓글