Don't be afraid of challenges
[프로그래머스-js] 문자열 나누기 본문
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에다가 첫글자 개수를 넣어서 비교해보기로 했다
결과는 일단 테스트 케이스가 다 성공되긴했는데 훗날 공부를 좀 더 해서 다시 확인해봐야할듯 싶다
'이것이 코딩테스트다' 카테고리의 다른 글
| [프로그래머스] Lv.1 두 정수 사이 합 -js (1) | 2024.04.14 |
|---|---|
| [프로그래머스] Lv.1 하샤드 수 - js (0) | 2024.04.13 |
| [프로그래머스] Lv.1 제일 작은 수 제거하기 - js (0) | 2024.04.13 |
| [이것이 코딩테스트다] chapter05. p143~p148 #BFS 개념정리 (2) | 2023.10.16 |
| [이것이 코딩테스트다] chapter05. p134~p143 #DFS 개념정리 (1) | 2023.10.16 |