배열의 원소 삭제하기

nacSeo (낙서)·2024년 3월 12일
0

프로그래머스

목록 보기
121/169

문제 설명

정수 배열 arr과 delete_list가 있습니다. arr의 원소 중 delete_list의 원소를 모두 삭제하고 남은 원소들은 기존의 arr에 있던 순서를 유지한 배열을 return 하는 solution 함수를 작성해 주세요.

제한사항

1 ≤ arr의 길이 ≤ 100
1 ≤ arr의 원소 ≤ 1,000
arr의 원소는 모두 서로 다릅니다.
1 ≤ delete_list의 길이 ≤ 100
1 ≤ delete_list의 원소 ≤ 1,000
delete_list의 원소는 모두 서로 다릅니다.

나의 코드

import java.util.*;

class Solution {
    public int[] solution(int[] arr, int[] delete_list) {
        List<Integer> list = new ArrayList<>();
        for(int i=0; i<arr.length; i++) {
            list.add(arr[i]);
        }
        for(int i=0; i<delete_list.length; i++) {
            if(list.contains(delete_list[i])) {
                list.remove(Integer.valueOf(delete_list[i]));
            }
        }
        int[] answer = new int[list.size()];
        for(int i=0; i<list.size(); i++) {
            answer[i] = list.get(i);
        }
        return answer;
    }
}

느낀 점

배열은 크기가 정해져 있으므로 삭제가 되지 않는다. 따라서, 주어진 배열 arr를 먼저 list로 변환한 후, delete_list를 반복문을 통해 돌면서 해당 원소값이 list에 존재하는 경우 remove()Integer.valueOf()를 활용하여 그 정수값을 가지면 삭제하였다. 마지막으로 다시 List값을 문제에서 원하는 int 배열 값으로 변환해주면 되겠다.

profile
백엔드 개발자 김창하입니다 🙇‍♂️

0개의 댓글