본문 바로가기
코테

[JS] 가장 가까운 같은 글자

by zenna 2024. 3. 10.
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

댓글