본문 바로가기

자료구조알고리즘/코드스테이츠 Coplit

08_convertDoubleSpaceToSingle

[ 문제 ]

입력받은 문자열에 있는 두 칸의 공백을 한 칸의 공백으로 바꾼 후, 그 문자열을 반환하는 문제이다.

입출력 예시를 보면, 'string  with  double  spaces'에서 중간의 공백이 전부 두 칸이다.

이걸 한 칸씩 변경한 'string with double spaces'값을 반환하는 것이다.

 

[ 풀이 ]

나의 로직은 다음과 같다. 

1/ split함수를 이용하여 구분자를 '  ' 즉, 두 칸의 공백으로 하여 배열로 만든다.

2/ 그 배열을 다시 ' ' 즉, 한 칸의 공백으로 연결하여 문자열을 만든다.

 

예를 들어보면, 아래와 같다.

let str = 'javascript  is good'; //javascript와 is 사이에 두 개의 공백이 들어가있다.
let arr = str.split('  '); //두개의 공백으로 split를 한다. arr=['javascript', 'is good']
arr.join(' '); //한 개의 공백으로 연결시킨다 --> 'javascript is good'

 

 

위 로직대로 함수를 만들어보았다.

function convertDoubleSpaceToSingle(str) {
  let arr = str.split('  '); //split함수를 이용하여 두개의 공백으로 나눈 후, 배열로 만든다.
  let result = arr.join(' '); //join함수를 이용하여 한 개의 공백으로 연결시켜 문자열로 만든다.
  return result; // 그 값을 반환한다. 그냥 return arr.join(' ')로 하면 더 깔끔하다!
}

 

[ 레퍼런스 ]

레퍼런스는 반복문을 이용하여 직전의 문자열과 현재의 문자열이 둘다 공백을 경우(연속 두개의 공백)는 무시하고 나머지 경우는 문자열을 순서대로 이어붙이는 로직이다.

'자료구조알고리즘 > 코드스테이츠 Coplit' 카테고리의 다른 글

10_insertDash  (0) 2022.02.18
09_ABCheck  (0) 2022.02.16
07_convertListToObject  (0) 2022.02.12
06_letterCapitalize  (0) 2022.02.09
05_firstReverse  (0) 2022.02.09