본문 바로가기
Study with me/프로그래머스 L0 마스터하기

프로그래머스 - L0 배열의원소삭제하기

by 외계나무 2023. 12. 27.

프로그래머스 - level 0 배열의 원소 삭제하기

import java.util.stream.Collectors;
import java.util.*;

class Solution {
    public int[] solution(int[] arr, int[] delete_list) {
        List<Integer> answer = Arrays.stream(arr)
                                          .boxed()
                                          .collect(Collectors.toList());
        List<Integer> deleteList = Arrays.stream(delete_list)
                                         .boxed()
                                         .collect(Collectors.toList());
        
        answer.removeIf(deleteList::contains);
        
        return answer.stream().mapToInt(Integer::intValue).toArray();
    }
}

chatGPT 도움을 받은거라 그냥 혼자서도 함 해봄.

import java.util.*;
class Solution {
    public int[] solution(int[] arr, int[] delete_list) {
        List<Integer> answer = new ArrayList<>();
        for(int i=0; i<arr.length; i++) {
            int k = 0;
            for(int j : delete_list) {
                if(arr[i] == j)
                    k++;
            }
            if (k==0) answer.add(arr[i]);
        }
        return answer.stream().mapToInt(Integer::intValue).toArray();
    }
}

contains() 쓰려고 했는데 Collection 인터페이스 상속한 클래스에서만 사용 가능하더라...