안녕하세요.
이번 시리즈에서는 Codewars의 도전 과제와 저의 사고 과정을 포스팅하고 있습니다. 가능할 때마다 JS와 Node 18을 사용하고 있습니다. 명확성을 위해 공정하게 사용하고 있습니다.
"n회 이상 발생하는 경우 해당 요소를 삭제합니다." 본질적으로 순서를 변경하지 않고 배열 중간 부분을 잘라냅니다.
function deleteNth(arr,n){ let counter = {"top": n , "undef": 0}; for (let i = 0 ; i < arr.length ; i++ ){ (counter[arr[i]]) ? null : counter[arr[i]] = 0; if (counter[arr[i]] < n){ counter[arr[i]]++; } else { arr[i] = undefined; counter.undef++; } } arr.sort((a,b) => 0); for (let i = 0 ; i < counter.undef ; i++){ arr.pop(); } return arr; }
그것은... 작동합니다. 확실히 모범 사례를 따르지 않기 때문에 리팩토링이 필요하지만 다음 도전으로 넘어가겠습니다.
조심하세요. 물을 마셔요???.
이전
위 내용은 Codewars - n번 이상 발생하는 요소의 발생을 삭제합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!