코딩테스트/[C#] 프로그래머스

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

냠냠쿠 2023. 9. 20. 20:06
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/181844

 

📝 나의 풀이

using System;
using System.Collections.Generic; 

public class Solution {
    public List<int> solution(int[] arr, int[] delete_list) {
        List<int> answer = new List<int>();
        
        for(int i=0; i<arr.Length; i++){
            int cnt = 0;
            for(int j=0; j<delete_list.Length; j++){
               if(arr[i]==delete_list[j]) cnt++;
            }
            if(cnt==0) answer.Add(arr[i]);
        }
        return answer;
    }
}

 

✍ 다른 사람의 풀이

using System;
using System.Collections.Generic;
using System.Linq;

public class Solution {
    public int[] solution(int[] arr, int[] delete_list) {
        List<int> aList = arr.ToList();
        foreach(int i in delete_list) aList.Remove(i);
        return aList.ToArray();
    }
}
using System;
using System.Collections.Generic;

public class Solution {
    public int[] solution(int[] arr, int[] delete_list) {
        List<int> list = new List<int>(arr);

        for(int i=0; i<delete_list.Length; i++)
        {
            if(list.Contains(delete_list[i])) list.Remove(delete_list[i]);
        }
        int[] answer = list.ToArray();
        return answer;
    }
}

- Remove 나 RemoveAt을 사용하면 더 편리하게 풀 수 있는 문제였는데 미처 생각을 못했다

728x90