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

febCho·2024년 3월 19일
0

코딩테스트

목록 보기
109/253
post-thumbnail

문제

정수 배열 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의 원소는 모두 서로 다릅니다.

풀이

이 문제를 풀면서 내가 boolean 타입의 데이터 사용에 미숙하다고 느꼈다.

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

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

결과

profile
Done is better than perfect.

0개의 댓글