728x90
입력할 때 단어의 앞글자는 대문자로 시작, 나머지는 소문자.
출력은 모두 소문자로 변경되어야 함
입력: iLikeApples
or
입력: i_Like_Apples
(두 가지 입력 모두 출력 같음)
출력: i-like-apples
function spinalCase(str) {
return str.replace(/([a-z])([A-Z])/g, "$1 $2").toLowerCase().replace(/\s|_/g,"-");
}
spinalCase("iLikeApples");
[코드 설명]
- str.replace(/([a-z])([A-Z])/g, "$1 $2") : 소문자 다음에 대문자가 오는 경우 그 사이(소문자와 대문자 사이)에 공백을 추가한다.
- .toLowerCase() : 소문자로 바꾼다.
- .replace(/\s|_/g,"-")
- 스페이스( \s ) 또는( | ) 기호( _ )가 오는 경우 - 로 바꾸어준다.
Intermediate Algorithm Scripting: Spinal Tap CasePassed
문제 출처: www.freecodecamp.org
320x100
'알고리즘 > FreeCodeCamp' 카테고리의 다른 글
[자바스크립트/알고리즘] DNA 페어링 (0) | 2021.02.01 |
---|---|
[자바스크립트/알고리즘] Pig Latin (정규식) (0) | 2021.02.01 |
[자바스크립트/알고리즘] 특정 문자열로 끝나는지 확인 / 정규식, endsWith() 이용 (0) | 2021.01.18 |
[자바스크립트/알고리즘] 두 배열 중복 값 제거 (concat, filter) (0) | 2021.01.17 |
[자바스크립트/알고리즘] 알파벳순 정렬(sort 함수) (0) | 2021.01.16 |