상세 컨텐츠

본문 제목

알고리즘 문제풀이 - insertDash

Programming Language/JavaScript

by Yongari 2022. 12. 22. 22:01

본문

 

문제 설명 : 문자열을 입력받고 홀수가 연속적으로 2번 입력을 받으면 연속된 홀수 사이에 "-"를 추가한다. 만약 연속된 홀수가 아니면 기존 문자열 그대로 반환하면 된다.

 

입력

인자 1 : str

  • string 타입의 숫자 문자열

출력

  • string 타입을 리턴해야 합니다.

주의 사항

  • 0은 짝수로 간주합니다.

입출력 예시

let output = insertDash('454793');
console.log(output); // --> 4547-9-3

 

풀이코드 설명 : 첫번째 문자열은 str[0]으로 설정 당연히 반복문 순회할 때 첫번째 문자도 체크한다. 

이후 연속된 문자열을 str[i-1]과 str[i]로 설정한 후 if문의 조건에 해당하면 "-"를 추가 아닐 경우 문자열을 기존 그대로 반환하는 코드다. 코드는 다음과 같다.

 

 

function insertDash(str) {

  let result = str[0];

  for (let i = 1; i < str.length; i++) {
    if (str[i - 1] % 2 === 1 && str[i] % 2 === 1) {
      result += "-";
    }
    result += str[i];
  }
  console.log("result", result);
  return result;
}

관련글 더보기