알고리즘
[프로그래머스] 가장 가까운 같은 글자 JS
i'm suna
2023. 10. 17. 09:34
좋아요를 많이 받은 다른사람의 풀이
function solution(s) {
const hash={};
return [...s].map((v,i)=>{
let result = hash[v] !== undefined ? i - hash[v] : -1;
hash[v] = i;
return result;
});
}
나의 풀이
function solution(s) {
s= s.split("")
var answer = [];
var chk = [];
for(var i=0; i<s.length; i++){
if(chk.lastIndexOf(s[i]) ==-1){
answer[i]=chk.lastIndexOf(s[i])
}else{
answer[i]=i-chk.lastIndexOf(s[i])
}
chk[i]=s[i]
}
return answer;
}
스터디 멤버1 풀이
const solution = (s) =>
[...s].map((c, i, arr) => {
const pos = arr.lastIndexOf(c, i - 1);
return pos !== -1 ? i - pos : -1;
});
console.log(solution("banana"));
스터디 멤버2 풀이
function solution(s) {
var answer = [-1];
for (let i = 1; i < s.length; i++) {
var strNumber = s.lastIndexOf(s[i],i-1);
(strNumber === -1) ? answer.push(-1) : answer.push(i-strNumber);
}
return answer;
}