영상 보기전에 직접 풀어보았습니다.
230
작성한 질문수 138
감사합니다.
function solution(str) {
const answer = [];
let char = "";
let count = 0;
str.split("").filter((v, i) => {
if (i === 0) {
char = v;
answer.push(v);
}
if (char === v) count++;
else {
if (count > 1) answer.push(count);
answer.push(v);
char = v;
count = 1;
}
if (i === str.length - 1) if (count > 1) answer.push(count);
});
return answer.join("");
}
//console.log(solution("KKHSSSSSSSEE"));
//console.log(solution("KKHSSSPPPEE"));
console.log(solution("KKHSSTTPPSEE"));
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
rhkdtjd_12님, 자바스크립트로 알고리즘 문제를 풀어보시는 굉장히 좋은 방법입니다.
제시한 코드는 문자열에서 연속된 문자를 감지하여, 해당 문자와 그 문자가 연속된 횟수를 결과로 반환하는 압축 알고리즘을 구현한 것으로 보입니다. 마지막에 join("") 메서드를 사용함으로써 배열에 저장된 값들을 하나의 문자열로 병합하여 반환하고 있네요.
예시로 들어주신 solution("KKHSSTTPPSEE")의 경우에는 “K2HS2T2P2SE2”와 같이 문자열을 압축한 결과를 얻게 됩니다. 문자열을 처음 접하는 자리와 해당 문자가 바뀌는 자리에서 count를 처리하는 로직이 인상적입니다.
자바스크립트의 배열과 문자열 메소드를 활용해서 로직을 잘 작성하셨으며, 별도의 문제점이 보이지 않습니다. 다만, 실제 코딩 테스트 환경에서는 주석 처리한 console.log를 사용하여 결과를 확인하는 과정도 중요하니, 이 부분도 잘 활용하시면 좋겠습니다.
계속해서 문제 풀이를 통해 실력을 키워 나가시길 응원합니다!
continue를 사용하는 이유
0
79
2
정렬 가능 여부 판단하기
0
64
2
알고리즘 학습법 관련해서 질문드립니다.
0
86
1
코드 리뷰 부탁드립니다!
0
90
1
indexOf를 사용해서 풀어보았습니다 !!
0
68
1
저는 이런식으로 구현 해보았습니다 !!
0
64
1
12,13,14 강의 소리만 나오고 검은 화면입니다
0
100
3
반복문 최소화하고 indexOf 사용해서 풀어봤습니다
0
63
1
영상 보기 전에 직접 풀어봤습니다.
0
74
1
섹션1의 17번문제 이 풀이로 풀어도 될까요?
0
136
2
정규표현식으로 처리해도 상관없나요 ?
0
120
2
3칸씩 건너뛸 수 있을 경우
0
125
2
강의에 대해 질문있습니다.
0
135
2
Object와 Set을 이용해 풀어봤습니다.
0
117
2
이렇게 해도 되나요?
0
102
2
선생님 중복 단어나 중복관련 문제들은 set을 이용하면 좋을것 같습니다.
0
145
2
이렇게 풀어도 괜찮을까요?
0
138
1
이렇게 풀어도 괜찮을까요?
0
112
1
모든 아나그램 찾기에서 시간복잡도
0
98
1
코드리뷰 부탁드립니다.
0
130
1
for loop 탈출은 return 문으로 해도 되지 않나요?
0
133
1
투포인트알고리즘으로 풀어봤습니다.
0
142
0
코드 리뷰 부탁드립니다.
0
120
1
코드 맞게 작성한 거 아닌가여??
0
146
1





