728x90
테스트케이스 최대 소요시간 : 4.19ms
제출답안
function solution(s) {
let sArr = [...s];
let answer = [];
sArr.forEach((thing,index)=>{
let i;
for(i = index-1 ; i > -1 ; i-- ){
if(thing == sArr[i]) { //일치하는 글자를 찾은 경우
//몇 칸 앞인지를(기준 문자 index - 확인 중인 문자 index) answer에 넣고 for문 종료
answer.push(index-i) ;
break;
};
}
if(i < 0 ) answer.push(-1); // 일치하는 글자가 없는 채로 for문이 종료 된 경우
})
return answer;
}
문제를 다 풀고 나서, 문자열 s를 배열로 변환하지 않고 하는게 더 빠르지 않았을까 싶어
그 부분만 바꿔봤더니 최대시간이 35초 정도로 몇배나 증가했다.
굉장히 의외였다. 앞으로 문자열을 배열처럼 쓰고싶다면 그냥 배열로 변환하고 하는걸로..
728x90
'코테' 카테고리의 다른 글
[JS] 추억점수 _ 이걸 한줄로 쓴다고? (0) | 2024.03.13 |
---|---|
[JS] 가장 많이 받은 선물_충격적인 얕은 복사 (0) | 2024.03.12 |
[JS] 삼총사 (프로그래머스) (0) | 2024.03.08 |
[JS] 푸드 파이트 대회 (0) | 2024.03.07 |
[js] 달리기 경주_그런데 이제 자괴감을 곁들인 (0) | 2024.03.07 |
댓글