[프로그래머스] Lv.0 배열의 원소 삭제하기.java

hgghfgf·2023년 6월 13일
0

프로그래머스

목록 보기
149/227

배열의 원소 삭제하기.java

import java.util.ArrayList;
import java.util.List;

class Solution {
    public int[] solution(int[] arr, int[] delete_list) {
        List<Integer> result = new ArrayList<>();
        
        for (int num : arr) {
            boolean isDeleted = false;
            for (int deleteNum : delete_list) {
                if (num == deleteNum) {
                    isDeleted = true;
                    break;
                }
            }
            if (!isDeleted) {
                result.add(num);
            }
        }
        
        int[] answer = new int[result.size()];
        for (int i = 0; i < result.size(); i++) {
            answer[i] = result.get(i);
        }
        
        return answer;
    }
}

java.util.ArrayList를 사용하여 삭제되지 않은 원소들을 저장하는 리스트인 result를 생성합니다. arr을 순회하면서 각 원소가 delete_list에 있는지 확인합니다. 만약 delete_list에 포함되어 있다면 isDeleted를 true로 설정하고 루프를 중단합니다. 그렇지 않으면 result에 해당 원소를 추가합니다.

최종적으로 result에 저장된 원소들을 배열로 변환하여 answer에 저장하고, answer를 반환합니다. 이렇게 하면 delete_list에 있는 원소들을 제외한 나머지 원소들이 유지되며, 순서도 유지됩니다.

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

0개의 댓글