반응형
문제
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
나의 풀이(오답)
function solution(s) {
const test = s.toLowerCase().split(" ");
const test2 = test.map((el)=> el.replace(/^./,el[0].toUpperCase()))
return test2.join(" ");
}
런타임 에러가 났다.
정규식이 연산량이 많다보다..
다른이의 정답
방법1. split("") 이용
function solution(s) {
s = s.toLowerCase()
var answer = s.split(" ").map(s => {
let arr = s.split("")
if(arr[0] != null) arr[0] = arr[0].toUpperCase();
return arr.join('');
}).join(' ');
return answer;
}
방법2. chatAt & substring이용
function solution(s) {
return s.split(" ").map(v => v.charAt(0).toUpperCase() + v.substring(1).toLowerCase()).join(" ");
}
너무 깔끔하다..
substring()메소드는 string 객체의 시작 인덱스로 부터 종료 인덱스 전 까지 문자열의 부분 문자열을 반환합니다.
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스]level2. 가장 큰 수 (javascript) (0) | 2021.05.10 |
---|---|
[프로그래머스] level2. 프린터 (javascript) (0) | 2021.05.10 |
[프로그래머스] level2. N개의 최소공배수 (javascript) (0) | 2021.05.06 |
[프로그래머스] level2. 숫자의 표현 (javascript) (0) | 2021.05.06 |
[프로그래머스] level2. 이진 변환 반복하기(javascript) (0) | 2021.05.04 |