JadenCase๋ ๋ชจ๋ ๋จ์ด์ ์ฒซ ๋ฌธ์๊ฐ ๋๋ฌธ์์ด๊ณ , ๊ทธ ์ธ์ ์ํ๋ฒณ์ ์๋ฌธ์์ธ ๋ฌธ์์ด์
๋๋ค. ๋จ, ์ฒซ ๋ฌธ์๊ฐ ์ํ๋ฒณ์ด ์๋ ๋์๋ ์ด์ด์ง๋ ์ํ๋ฒณ์ ์๋ฌธ์๋ก ์ฐ๋ฉด ๋ฉ๋๋ค. (์ฒซ ๋ฒ์งธ ์
์ถ๋ ฅ ์ ์ฐธ๊ณ )
๋ฌธ์์ด s๊ฐ ์ฃผ์ด์ก์ ๋, s๋ฅผ JadenCase๋ก ๋ฐ๊พผ ๋ฌธ์์ด์ ๋ฆฌํดํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์.
์ ํ ์กฐ๊ฑด
function solution(s) {
let spliteArr = s.split(' ');
let answer = []
for(let i of spliteArr){
if(!isNaN(i[0])){
let lowerChars = i.slice(1).toLowerCase()
answer.push(i[0] + lowerChars)
}
else{
let firstChar = i.slice(0,1).toUpperCase()
let lowerChars = i.slice(1).toLowerCase()
answer.push(firstChar + lowerChars)
}
}
return answer.join(' ')
}
// 1๋ฒ ํ์ด
function solution(s) {
return s.split(" ").map(v => v.charAt(0).toUpperCase() + v.substring(1).toLowerCase()).join(" ");
}
์
๋ ฅ ๋ฐ์ ๋ฌธ์๋ฅผ ๊ณต๋ฐฑ ๊ธฐ์ค์ผ๋ก ๋์ด์ ๋ฐฐ์ด๋ก ๋ง๋ ๋ค. map
์ผ๋ก ๊ทธ ๋ฐฐ์ด์ ๋๋ฉด์ charAt
์ ์ฌ์ฉํด์ ๊ฐ ์์์ ์ฒซ ๊ธ์๋ ๋๋ฌธ์๋ก, substring
์ ์ฌ์ฉํด์ ๊ทธ ๋ท๋ถ๋ถ์ ์๋ฌธ์๋ก ๋ง๋ ํ join
์ ์ฌ์ฉํด์ ํฉ์ณ์ ๋ฐํํ๋ค.
charAt
์ ์ฌ์ฉํ ์ด์ ๋ ์ ํ ์กฐ๊ฑด์ "s๋ ์ํ๋ฒณ๊ณผ ์ซ์, ๊ณต๋ฐฑ๋ฌธ์(" ")๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค" ๊ฐ ์์๊ธฐ ๋๋ฌธ! ๊ทผ๋ฐ ์ด ํ์ด๋ฅผ ์ ์ถํ ๋น์์๋ ์๋ง ๊ณต๋ฐฑ์ด ์ฐ์์ผ๋ก๋ ์์๋ ๋ณด๋ค. ๊ณต๋ฐฑ์ด ์ฐ์์ผ๋ก ์๊ฒ ๋๋ฉด, v[i]
๋ก ์ ๊ทผํ ๊ฒฝ์ฐ ๋น ๋ฌธ์์ด์ด๋ผ undefined
๊ฐ ๋ฐํ๋์ด์ ๋ฌธ์ ๊ฐ ๋๋ค.
charAt
๊ณผ ์ธ๋ฑ์ค ์ ๊ทผ์ ์ฐจ์ด๋ฅผ ์ ์ํ์!
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/charAt