반응형
Notice
Recent Posts
Recent Comments
- Today
- Total
작심삼일
[LeetCode] 658 | Find K Closest Elements | Python 본문
728x90
반응형
문제 링크:https://leetcode.com/problems/find-k-closest-elements/
문제
Given a sorted integer array arr, two integers k and x, return the k closest integers to x in the array. The result should also be sorted in ascending order.
An integer a is closer to x than an integer b if:
- |a - x| < |b - x|, or
- |a - x| == |b - x| and a < b
조건
- 1 <= k <= arr.length
- 1 <= arr.length <= $10^4$
- arr is sorted in ascending order.
- $-10^4$ <= arr[i], x <= $10^4$
내 풀이
arr을 맨 앞부터 k번째까지 list를(ans) 가져온다.
오름차순으로 정리되어있으므로 arr를 쭉 훑으며 x와의 거리가 'ans[0]와 x의 거리'보다 작다면 ans의 맨 앞 원소를 빼고 새 원소를 뒤에 넣는다.
이 과정을 arr의 끝까지 반복한다.
코드
class Solution:
def findClosestElements(self, arr: List[int], k: int, x: int) -> List[int]:
ans = arr[:k]
for num in arr[k:]:
if abs(ans[0]-x) > abs(num-x):
ans.pop(0)
ans.append(num)
return ans
728x90
반응형
'스터디 > 코테' 카테고리의 다른 글
[LeetCode] 623 | Add One Row to Tree | Python (0) | 2022.10.05 |
---|---|
[LeetCode] 112 | Path Sum | Python (0) | 2022.10.04 |
[LeetCode] 19 | Remove Nth Node From End of List | Python (0) | 2022.09.28 |
[LeetCode] 838 | Push Dominoes | Python (0) | 2022.09.27 |
[LeetCode] 990 | Satisfiability of Equality Equations | Python (0) | 2022.09.26 |
Comments