✓ 문제
📌 내가 쓴 코드
function insertDash(str) {
const arr = str.split('').map(el => parseInt(el));
for (let i=0; i<arr.length-1; i ++){
if(arr[i]%2 && arr[i+1]%2 === 1){
arr.splice(i+1,0,'-');
}
}
return arr.join('');
}
- 숫자형태의 문자열을 map함수를 이용하여 숫자로 바꾼 뒤 split매서드를 이용하여 배열로 변환
- for 문을 이용하여 연속된 홀수가 있는지 체크
- 있다면 해당 i+1인덱스 자리에 '-' 배열요소를 추가
- join 메서드를 활용하여 다시 문자열로 변환 후 return
🧚♀️ 레퍼런스 코드
- result 변수 생성 후 해당 문자열의 첫번째 문자열 할당
- for문을 이용하여 연속된 홀수가 있는지 확인
- 조건 만족시 result변수에 할당된 문자열에 '-' 문자열을 더해줌
- '-'을 추가해준 뒤 다음 인덱스에 오는 문자열을 더해줌
레퍼런스와 비교
- 주어진 문자열을
parseInt
로 변환하지 않고, 문자열 그대로 비교하고, 비교할 시에는 Number()
을 이용
- 조건 만족 시 문자열 연산
+
을 이용하여 문자열 추가