본문으로 바로가기

배열의 원소 삭제하기

category 코딩테스트_문제풀이/프로그래머스 2023. 10. 27. 14:20

🦛 문제 설명

정수 배열 arr 과 delete_list 가 있습니다. 

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

 

🦛 제한사항

  • 1 <= arr의 길이 <= 100
  • 1 <= arr의 원소 <= 1000
  • arr의 원소는 모두 서로 다릅니다.
  • 1 <= delete_list의 길이 <= 100
  • 1 <= delete_list의 원소 <= 1000
  • delete_list의 원소는 모두 서로 다릅니다.

 

🦛 입출력 예

 

🦛 입출력 예 설명

입출력 예 #1

  • 예제 1번의 arr의 원소 중 1000과 94가 delete_list에 있으므로 이 두 원소를 삭제한 {293, 395, 678}을 return 합니다.

입출력 예 #2

  • 예제 2번의 arr의 원소 중 delete_list에 있는 원소는 없습니다. 따라서 arr 그대로인 {110, 66, 439, 785, 1}을 return 합니다.

 

🦛 문제 풀이

class Solution {
    public int[] solution(int[] arr, int[] delete_list) {
        int arrCnt = 0;
		int cnt = 0;

		for(int i=0; i < arr.length; i++) {
			for(int j=0; j < delete_list.length; j++) {
				if(arr[i] == delete_list[j]) {
					arrCnt++;
				}
			}
		}

		int count = arr.length - arrCnt;
		int[] answer = new int[count];

		for(int i=0; i < arr.length; i++) {
			int check = 0;
			for(int j=0; j < delete_list.length; j++) {
				if(arr[i] == delete_list[j]) {
					check = 1;
				}
			}
			if (check == 0) {
				answer[cnt] = arr[i];
				cnt++;
			}
		}

		return answer;
    }
}

'코딩테스트_문제풀이 > 프로그래머스' 카테고리의 다른 글

인덱스 바꾸기  (0) 2023.10.27
수 조작하기2  (0) 2023.10.27
조건 문자열  (2) 2023.10.27
최댓값과 최솟값  (0) 2023.10.16
합성수 찾기  (0) 2023.10.16