Algorithms/LeetCode
LeetCode #1968 Array With Elements Not Equal to Average of Neighbors
8iggy
2021. 8. 21. 02:02
읽기 전
- 불필요한 코드나 잘못 작성된 내용에 대한 지적은 언제나 환영합니다.
- 개인적으로 배운 점을 정리한 글입니다.
문제 링크
LeetCode #1968 Array With Elements Not Equal to Average of Neighbors
문제 풀이
wigle sort 문제라는데 흔히 쓰는 방법은 아니니 따로 암기하진 않는 것이 좋겠다. 각 원소에 대해 양 끝의 원소 평균이 자신과 같지 않도록 재배열된 배열을 리턴해야 한다. 문제의 제약 조건을 가장 잘 맞춘 배열의 형태는 1씩 증가하는 배열이고 이 배열을 재배열하여 조건을 충족하면 나머지 배열에 대해서도 성립할 것이다.
- 배열을 정렬한다.
- 짝수 번째 원소를 홀수 번째 원소와 swap하여 양쪽 원소의 평균이 가운데 원소인 경우를 방지한다.
python 코드
class Solution:
def rearrangeArray(self, nums: List[int]) -> List[int]:
nums.sort()
for i in range(1, len(nums), 2):
nums[i - 1], nums[i] = nums[i], nums[i - 1]
return nums