정수 배열 nums 이 주어짐(list[int])
배열의 각 원소가 고유 값이 될 때 까지
배열 맨 앞의 3개의 원소를 제거하는 작업을 수행함
종료 조건 불 만족 이면서 원소의 개수가 3개 미만이면 나머지 원소를 모두 버림
모든 원소가 고유 값을 가지게 하는 최소 버림 연산 횟수를 반환하는 문제
모든 원소가 고유 값인지 확인하는 함수 만들기
맨 앞 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