고양이발일기
[Python] HackerRank - Minimum Absolute Difference in an Array 본문
반응형
Problem
Solving Process
각 원소들 간의 차이가 가장 작은 걸 선택을 해야하니....
처음에는 2중 포문을 사용해야하나 싶었다.
하지만 너무 비효율 적인 것 같아 생각해보니
차이가 가장 작으려면 sorted 된 상태이면 각각의 옆 얘들 만이 가장 작은 상태를 뽑아낼 수 있는 것 같다는 생각이 들었다.
그래서
1. sort 를 시킨다
2. 다음 인덱스와의 차이를 구해 abs 함수를 사용해 절댓값을 구한다
3. 현재 인덱스 값이 마지막 인덱스라 다음인덱스가 없으면 0번째 인덱스와 차를 구한다.
4. min 값과 비교해 해당 값보다 작으면 min 값을 그 값으로 바꿔준다
Solution
def minimumAbsoluteDifference(arr):
arr.sort()
length = len(arr)
min = sys.maxsize
for i in range(length-1):
diff = abs(arr[i] - arr[i+1])
if min > diff:
min = diff
return min
반응형
'알고리즘' 카테고리의 다른 글
[Python] HackerRank - Caesar Cipher (0) | 2023.05.17 |
---|---|
[Python] LeetCode - Reverse Linked List (0) | 2023.05.16 |
[Python] LeetCode - Merge Two Sorted List (0) | 2023.05.15 |
[Python] HackerRank - Tower Breakers (0) | 2023.05.15 |
[Python] LeetCode - Is Subsequence (1) | 2023.05.12 |
Comments