문자열을 입력받아 연속된 한자리 홀수 숫자 문자열 사이에 '-' 를 추가한 문자열을 리턴하는 함수
주어진 정보: str은 string 타입의 숫자 문자열, 0은 짝수로 간주
인자: str(string 타입의 숫자 문자열)
출력: string 타입을 리턴
function insertDash(str) {
// 조건: 두 수 간의 비교(두 숫자 문자열이 홀수인가?)
// 각 문자열을 인덱스 단위로 쪼갠 후에 두 인덱스를 숫자화 해서 홀수인지 비교?
// 둘다 홀수라면 그 사이에 '-'을 추가하여
// 마지막 반환값은 다 더해진 string 타입 리턴
// debugger;
let newStr=str.charAt(0); //str의 인덱스 0을 가진 새로운 문자열
for(let i=1; i<str.length; i++){ // i 는 1부터 시작
console.log(parseInt(str.charAt(i)))
let preNum=str.charAt(i-1);
let curNum=str.charAt(i);
if(parseInt(preNum)%2===1 && parseInt(curNum)%2===1){ // 둘 다 홀수이면?
newStr=newStr.concat('-',curNum); // 특정 문자 추가하여 더해 줌
}else{
newStr=newStr.concat(curNum); // 아니면 그냥 더해 줌
}
}
return newStr;
}
let output = insertDash('454793');
console.log(output); // --> 4547-9-3
'알고리즘 연습' 카테고리의 다른 글
버블(거품) 정렬 알고리즘 (0) | 2021.10.13 |
---|---|
알고리즘 연습 - 문자열 배열을 입력 받아 가장 길고, 짧은 문자열을 제거 (0) | 2021.09.17 |
알고리즘 연습 - 2차원 배열의 요소로 만든 객체를 리턴하는 함수 구현 (0) | 2021.09.15 |
알고리즘 연습 - 각 단어 첫글자만 대문자가 되게 하는 함수 (0) | 2021.09.15 |
알고리즘 연습 - 2의 거듭제곱의 여부를 리턴하는 함수 (0) | 2021.09.13 |