진짜 로직 뽑아내는데 2분도 안걸렸음 근데??? 테스트 케이스의 대부분이 실패하는거임..
대체 뭐가문제지하다가 isExist[item]의 값으로 검사를 하는 로직에서 주석한 부분을 보면 isExist[item]의 값이 없다면 'falsy
한 값을 주겠지?'란 생각으로 코드를 짠거임.
그런데!! 해당 값에 0이 들어가면 false인걸 망각하고있었음 그래서 undefined와 비교해주며 명확하게 비교를 해주었어야함 ㅜㅜㅜ./..
function solution(s) {
const isExist = {}
const answer = [...s].map((item, idx) => {
//let result = isExist[item] ? idx - isExist[item] : -1
let result = isExist[item] !== undefined ? idx - isExist[item] : -1
isExist[item] = idx
return result
})
return answer
}