Coding Test/Java Coding Test
[프로그래머스 / 자바] - 배열의 원소 삭제하기
nam_ji
2023. 11. 30. 02:04
배열의 원소 삭제하기
문제
- 정수 배열 arr과 delete_list가 매개변수로 주어집니다.
- arr의 원소 중 delete_list의 원소를 모두 삭제한 후
기존 arr의 순서를 유지한 배열을 출력하는 문제입니다.
테스트 (이클립스)
- for문을 사용하여 answer에 arr의 원소를 담습니다.
- 이번에는 2중 for문을 사용하여 arr만큼 순회하는 for문 안에 delete_list만큼 순회하는 for문을 만들어 주고
- 그 안에 if문을 사용하여 arr의 원소와 delete_list의 원소를 비교합니다.
- 여기서 같은 값이 있다면 remove를 사용해 그 값을 지우도록 하고 출력하면 됩니다.
package com.namji.codingtest;
import java.util.ArrayList;
import java.util.List;
public class DeletingElements_from_an_Array {
public static void main(String[] args) {
/*
* 정수 배열 arr과 delete_list가 매개변수로 주어집니다.
* arr의 원소 중 delete_list의 원소를 모두 삭제하고
* 남은 원소들은 기존의 arr에 있던 순서를 유지하여
* 출력하는 문제입니다.
* arr [293, 1000, 395, 678, 94], delete_list [94, 777, 104, 1000, 1, 12] > [293, 395, 678]
* arr [110, 66, 439, 785, 1] delete_list [377, 823, 119, 43] > [110, 66, 439, 785, 1]
*/
int[] arr = {293, 1000, 395, 678, 94};
int[] delete_list = {94, 777, 104, 1000, 1, 12};
List<Integer> answer = new ArrayList<Integer>();
for (int i = 0; i < arr.length; i++) {
answer.add(arr[i]);
}
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < delete_list.length; j++) {
if (arr[i] == delete_list[j]) {
answer.remove(Integer.valueOf(arr[i]));
}
}
}
System.out.println(answer);
}
}