
😎풀이
nums 3중 순회
1-1. i, j, k번째 인덱스 수가 동일한 경우 탐색
1-2. 조건에 맞는 점화식 (j - i) + (k - j) + (k - i)을 통해 현재 거리 계산
1-3. 최단 거리 갱신
- 동일한 세 쌍이 존재하지 않을 경우
-1 반환
- 세 쌍이 존재할 경우 최단 거리 반환
function minimumDistance(nums: number[]): number {
const n = nums.length
let minDist = Infinity
for(let i = 0; i < n; i++) {
const iNum = nums[i]
for(let j = i + 1; j < n; j++) {
const jNum = nums[j]
if(iNum !== jNum) continue
for(let k = j + 1; k < n; k++) {
const kNum = nums[k]
if(jNum !== kNum) continue
const curDist = (j - i) + (k - j) + (k - i)
minDist = Math.min(minDist, curDist)
}
}
}
if(minDist === Infinity) return -1
return minDist
};