[프로그래머스 문제풀이57]제일 작은 수 제거하기 자바스크립트/자바

이ᄏᄋ·2021년 9월 30일
0

자바스크립트

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

Math.min에 배열값을 바로 넘기면 안된다.
Math.min.apply(null,nums)//nums는 배열
을하거나
Math.min(...nums)를 해야함
apply에 대해 복습하자!

자바

import java.util.ArrayList;
import java.util.Arrays;

class Solution {
    public int[] solution(int[] arr) {
        int[] answer={};
        int[] nullAnswer={-1};
        ArrayList<Integer> answerList = new ArrayList<Integer>();
        int min=arr[0];
        for(int num:arr){         
            min=Math.min(num,min);  
        }
        for(int num:arr){
            if(num!=min)
                answerList.add(num);
        }
       
       answer= Arrays.stream( answerList.toArray(new Integer[0])).mapToInt(i -> i).toArray();
      if(answer.length==0)
            return nullAnswer;
        return answer;
    }
}

java로 할때는 역시 filter나 맵이나 등등을 못써서
ArrayList로 바꾼 후에
Integer[]로 바꾸고
Integer[]을 다시 int[]로 바꿔주는 과정을 거치거나
아예 int[]에서 min을 없애야 한다.

profile
미쳤다.

0개의 댓글