코딩_Python(Level.0)

[Level.0] 배열의 원소 삭제하기

Hong's_Computer 2026. 3. 12. 09:27
반응형

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

문제 해결

def solution(arr, delete_list):
    for delete in delete_list:
        if delete in arr:
            arr.remove(delete)
    return arr

def solution(arr, delete_list):
    return [ar for ar in arr if ar not in delete_list]

def solution(arr, delete_list):
    target_set = set(delete_list)  # set()은 집합이므로 찾는 최악 시간 복잡도가 O(1)임.. 그래서 훨씬 빠름
    return [ar for ar in arr if ar not in target_set]

 

주석: .remove(값)은 배열에서 해당 값을 삭제하는 것(가장 처음마주하는 것만, 단 제약조건으로 모든 원소는 다르기 때문에 가능!), 시간 복잡도는 O(N)임.

반응형

'코딩_Python(Level.0)' 카테고리의 다른 글

[Level.0] 0 떼기  (1) 2026.03.12
[Level.0] 꼬리 문자열  (0) 2026.03.12
[Level.0] 문자열 바꿔서 찾기  (0) 2026.03.12
[Level.0] 숫자 찾기  (0) 2026.03.11
[Level.0] l로 만들기  (0) 2026.03.11