다른 분들이 velog 썸네일과 함께 글을 올리시는 걸 보고, 확실히 이미지가 있으면 글의 완성도도 올라가면서도 가독성도 올라가는 효과가 있기에 나도 제작을 해보았다. 늘 디자인하는 그 느낌으로 figma를 이용해 심플하게 제작했다.


현재 공부중인 언어나 라이브러리 이미지와 함께 TIL, WIL 문구를 넣고, 오른쪽 아래에는 velog 주소를 작게 넣었다.
일단 이 템플릿으로 쭉 갈 것 같지만, 새로운 아이디어가 생각난다면 바꿀 의향도 있다.
문자열 s가 입력되었을 때 다음 규칙을 따라서 이 문자열을 여러 문자열로 분해하려고 합니다.
문자열 s가 매개변수로 주어질 때, 위 과정과 같이 문자열들로 분해하고, 분해한 문자열의 개수를 return 하는 함수 solution을 완성하세요.
function solution(s) {
let strArr = [...s];
let count = 0;
let newArr = [[], []];
for (let i = 0; i < strArr.length; i++) {
if (newArr[0].length === 0 || strArr[i] === newArr[0][0]) {
newArr[0].push(strArr[i]);
} else if (strArr[i] !== newArr[0][0]) {
newArr[1].push(strArr[i]);
}
if (newArr[0].length === newArr[1].length || i === strArr.length - 1) {
count++;
newArr = [[], []];
}
}
return count;
}
배열 내 배열을 만들어, 첫 문자와 같은 문자들은 배열의 첫 요소 배열에 넣어주고, 그 외 문자들은 두번째 요소 배열에 넣어준 다음 두 배열의 크기가 같다면 카운트를 올리고 배열을 초기화시켜 문제를 풀어냈다.
function solution(s) {
let answer = 0;
let current;
let count = 0;
for(let i = 0; i < s.length; i++) {
if(count === 0) {
answer++;
current = s[i]
count = 1
} else {
if(current !== s[i]) count--;
else count++;
}
}
return answer;
}
조금 더 간단한 풀이.