Coding Test/프로그래머스 Lv.0
알고리즘 - 문자열 요약하기 (어려움)
sangwoo_rhie
2023. 5. 30. 20:54
# 문제의 번호별 조건에 대한 입력 예시와 출력
Ex 1)
abc # a1/b1/c1
Ex 2-1)
aaabbbc # a3/b3/c1
Ex 2-2)
abbbc # a1/b3/c1
Ex 3-1)
ahhhhz # a1/h4/z1
Ex 3-2)
acccdeee # a1/c3/d1/e3
문제풀이
function summarizing_string (target_string){
let n = target_string.length // loop를 구해야 하므로 length를 구함
let count = 0; // 모든 숫자의 카운트는 0번째부터.
let result_str = " "
for (let i = 0; i < n-1; i++){
if (target_string[i] === target_string[i+1] )
{count ++} else{
result_str += target_string[i] + String(count+1) + '/';
count = 0;
}
return result_str;
}
for문에서 i가 n-1까지 인 이유는, 첫번째 if문에서 i (count)에 1을 추가하기 때문.
if문 = 기존 문자가 그다음 문자와 같은경우, count에 1추가함.
else문 = 기존문자가 그다음 문자와 다른경우.
ex)
A (alphabet) - B (count)
a 2
h 1
t 5
k 3
u 1