문제설명 :
문자열을 입력받아 연속되는 문자가 있을 경우, 연속 구간을 반복되는 수와 문자로 조합한 형태로 압축한 문자열을 리턴해야 한다. 예를들어 wwwpp면 3w2p 같은 방식으로 리턴해야합니다.
입력
인자 1 : str
출력
주의 사항
입출력 예시
let output = compressString('abc');
console.log(output); // --> abc
output = compressString('wwwggoppopppp');
console.log(output); // --> 3wggoppo4p
풀이 코드 설명
function compressString(str) {
//연속된 문자가 나올 떄 체크할 변수
let count = 1;
// 정답 변수
let result = '';
for(i=0; i<str.length; i++) {
//앞의 배열요소와 뒤의 요소가 같은 값일 경우 체크
if (str[i] === str[i+1]) {
count += 1;
} else {
// 카운트가 3이상일 경우, 3이상이면 3w와 같이 표현
if (count >= 3) {
result += count + str[i];
// 카운트 초기화
count = 1;
// 카운트 이하일 경우 문자 더하기
} else {
for (j=1; j<=count; j++) {
result += str[i];
}
// 카운트 초기화
count = 1;
}
}
}
//정답 변수 리턴
return result;
}
알고리즘 문제풀이 toy - fibonacci (3) | 2023.01.02 |
---|---|
알고리즘 문제풀이 toy - orderOfPresentation (0) | 2022.12.30 |
알고리즘 문제풀이 - decryptCaesarCipher (0) | 2022.12.29 |
알고리즘 문제풀이 - numberSearch (0) | 2022.12.28 |
알고리즘 문제풀이 - computeSquareRoot (0) | 2022.12.28 |