Don't be afraid of challenges

[프로그래머스-js] 문자열 나누기 본문

이것이 코딩테스트다

[프로그래머스-js] 문자열 나누기

초아롱 2024. 4. 11. 16:26

https://school.programmers.co.kr/learn/courses/30/lessons/140108

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

나의 풀이

function solution(s) {
    var answer = [s[0]]; //처음 비교할 문자열 하나를 넣는다
    let x = 0; // 글자개수
    let x_comp = 0; //비교글자개수
    
    let word = s[0]; //글자
    for(let i =0; i<s.length-1; i++){ // 첫글자를 answer에 넣어줄거기 때문에 마지막 글자는 비교 안해도 됨
      
       if(s[i] == word) x++; //글자와 s에 있는글자가 같으면 x++
        else x_comp++; //아니면 x_comp++
        
        if(x === x_comp) { //그래서 x와 x_comp 개수가 같아지면
            x = x_comp = 0; //초기화
            word = s[i+1]; //글자는 지금 i의 다음 인덱스의 글자로 시작하고
            answer.push(word); //answer에다가 바뀐 글자를 넣어준다
        }
    }
    return answer.length;
}

코딩테스트를 안풀어봐서 지금 무작정 풀고있는데 너무 어렵다,,,

그래서 잔머리를 굴렸다!

 

문제에서 원하는건 분해한 리스트가 아니라 분해한 문자열 '개수'를 원하는 거기때문에 answer에다가 첫글자 개수를 넣어서 비교해보기로 했다

 

결과는 일단 테스트 케이스가 다 성공되긴했는데 훗날 공부를 좀 더 해서 다시 확인해봐야할듯 싶다