๐ [์๊ฑด] :
asghd == > A-Ss-Ggg-Hhhh-Ddddd
ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์ string์ ์ฒซ๋ฌธ์๋ ๋๋ฌธ์๋ก ๋ฐ๊พธ๊ณ , ํด๋น index๋งํผ ๋ฐ๋ณตํ์ฌ return
โ [์ฝ๋์์ฑ]
function accum(str) { var getStr = str.split(""); let newArr = []; for (var i = 0; i < str.length; i++) { newArr.push(getStr[i].repeat(i+1)); // console.log(newArr) // ["a", "ss", "ggg", "hhhh", "ddddd"] newArr[i] = newArr[i].charAt(0).toUpperCase() + newArr[i].substr(1); var connectStr = newArr.join('-'); } console.log(newArr); return connectStr; } accum("asghd");
โ [๊ฒฐ๊ณผ]
์ ๋ฒ์ฃผ ์ฃผ๋ง์ ๋ฌธ์ ๋ฅผ ๋ชจ๋ ํด๊ฒฐํ์ง ๋ชปํ์ฑ ๋ฐฉ์นํด๋๋ค๊ฐ, ์๊พธ ์๋ฅธ๊ฑฐ๋ฆฌ๊ธธ๋ ๋์์๋ค.
1) newArr[i] = newArr[i].charAt(0).toUpperCase() + newArr[i].substr(1); 2) newArr[i] = newArr[i].charAt(0).toUpperCase() // ["A", "S", "G", "H", "D"]
2)๋ฒ์ผ๋ก ์์ฑํ๋๋ ๊ฒฐ๊ณผ๊ฐ์ด ["A", "S", "G", "H", "D"] ์๋ค.
newArr ์ด๋ ๋ฐฐ์ด์ ์ฒซ๋ฒ์งธ ๊ธ์๋ง ์ค๋ฒ๋ผ์ด๋ฉ ๋๋๊ฒ์ด์๋ค.
๋์ ํ ์ด๋ค์์ผ๋ก ๊ฐ์ ธ์์ผํ ์ง ๋ชจ๋ฅด๊ฒ ์ด์ replace๋ ์จ๋ณด๊ณ ํ๋๋ฐ ๊ฒฐ๊ณผ๋ ์ญ์ ์คํจ ๐คฆโโ๏ธ
๊ฒ์ํด๋ณด๋ ๋์ ๊ฐ์ ์ฌ๋์ด ๋ช๋ช
๋ณด์๋ค.
stackoverflow์์ + newArr[i].substr(1) ์ด ์ฝ๋๋ฅผ ์ฐพ์๋ค.
์ ์ด์๊ฐ์ ํ์ง ๋ชปํ๋๊ฐ ...
substr() ๋ฉ์๋๋ ๋งค๊ฐ๋ณ์๊ฐ ํ๋์ผ์, ํด๋น index๋ถํฐ ๋๋จธ์ง๋ฅผ ๋ฐํํ๋ค.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/substr
repeat() ๋ฉ์๋๋ ๋ฌธ์์ด์ ์ฃผ์ด์ง ํ์๋งํผ ๋ฐ๋ณตํด ๋ถ์ธ ์๋ก์ด ๋ฌธ์์ด์ ๋ฐํํ๋ค.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/repeat
join() ๋ฉ์๋๋ ๋ฐฐ์ด์ ๋ชจ๋ ์์๋ฅผ ์ฐ๊ฒฐํด ํ๋์ ๋ฌธ์์ด๋ก ๋ง๋ ๋ค.
์ ์ ์ ๋ฆฌํ๋๊ฑฐ ๋ค์ ๋ณต์ตํ๋ฌ ๊ฐ์ผ๊ฒ ๋น ๐คณ