Lv.2 2019 JadenCase 문자열 만들기
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다.
단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다.
문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
제한사항
- s는 길이 1 이상 200 이하인 문자열입니다.
- s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다.
- 숫자는 단어의 첫 문자로만 나옵니다.
- 숫자로만 이루어진 단어는 없습니다.
- 공백문자가 연속해서 나올 수 있습니다.
function solution(s) {
var answer = [];
let splitArr = s.toLowerCase().split(" ");
splitArr.map((str) => {
if(str !== ""){
let upperCase = str.replace(str[0], str[0].toUpperCase())
answer.push(upperCase)
}else{
answer.push("")
}
})
return answer.join(" ");
}
모든 문자를 다 소문자로 바꾸고 공백을 기준으로 나누었다
그러고나서 '첫글자만 대문자로 바꾸려면 뭘 써야할까?' 하고 생각난 게 replace( ) 였는데
다른 사람들의 풀이를 보니 charAt( )과 substring( )을 사용하여 훨씬 간단하게 해결할 수 있었다
charAt( )과 substring( )은 기입하는 index에 따라 원하는 문자열을 반환시켜준다
function solution(s) {
let answer = []
let splitArr = s.split(" ");
splitArr.map((str) => {
answer.push(str.charAt(0).toUpperCase() + str.substring(1).toLowerCase())
})
return answer.join(" ");
}