가장 가까운 글자
2023. 4. 3. 15:15
인트로
더이상 미룰 수 없어서 풀어보는 프로그래머스...
알고리즘 해야하는데...
문제
레벨1 : https://school.programmers.co.kr/learn/courses/30/lessons/142086
나의 풀이
function solution(s) {
const stringArr = [...s];
const result = [];
let closestIdx = -1;
stringArr.map((el,idx)=> {
for (let i = 0; i < idx; i++) {
if(stringArr[i] === el) {
closestIdx = idx-i;
}
}
result.push(closestIdx);
closestIdx = -1;
})
return result;
}
다른 풀이 참고
객체를 사용한 사람과 slice를 사용한 사람이 있어 다시 풀어보았습니다.
function solution(s) {
const result = [...s].map((el,idx)=> {
const sliceStr = s.slice(0,idx).lastIndexOf(el);
return sliceStr < 0 ? -1 : idx-sliceStr;
})
return result;
}
lastIndexOf 는 또 처음보네요... 지식이 늘었다.. 편하다..
function solution(s) {
const obj = {};
return [...s].map((el,idx)=> {
result = (el in obj) ? idx-obj[el] : -1;
obj[el] = idx;
return result;
})
}
'programmers' 카테고리의 다른 글
모의고사 (2) | 2023.04.25 |
---|---|
추억 점수 (0) | 2023.04.06 |
시저 암호 (0) | 2023.03.29 |
수박수박수박수박수박수? (0) | 2023.03.24 |
소수 찾기 (1) | 2023.03.16 |