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을 없애야 한다.