LeetCode - 3396. Minimum Number of Operations to Make Elements in Array Distinct

TechN0·2025년 4월 8일

알고말고 알고리즘

목록 보기
17/22

문제


풀이

  • 모든 원소가 고유 값인지 확인하는 함수 만들기

    • 모두 고유 값이면 참 반환
  • 맨 앞 3개의 원소를 제거

  • 모든 원소가 고유 값이 아니면서 남은 원소 개수가 3 미만일 경우 모두 버림 처리하는 조건문 필요

  • 몇번 반복이 아닌 유니크 해질 때 까지 반복임으로 while 문으로 반복하는 것이 가장 적합할 것

class Solution(object):
    def minimumOperations(self, nums):
        def is_unique(arr):
            return len(arr) == len(set(arr))

        count = 0

        while len(nums) > 0:
            if is_unique(nums):
                return count
            if len(nums) < 3:
                nums = []
            else:
                nums = nums[3:]
            count += 1

        return count

0개의 댓글