Question
์ ์ถ๋ ฅ ์์
์ ์ถ๋ ฅ ์์ ์ค๋ช
"try hello world"๋ ์ธ ๋จ์ด "try", "hello", "world"๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ๊ฐ ๋จ์ด์ ์ง์๋ฒ์งธ ๋ฌธ์๋ฅผ ๋๋ฌธ์๋ก, ํ์๋ฒ์งธ ๋ฌธ์๋ฅผ ์๋ฌธ์๋ก ๋ฐ๊พธ๋ฉด "TrY", "HeLlO", "WoRlD"์ ๋๋ค. ๋ฐ๋ผ์ "TrY HeLlO WoRlD" ๋ฅผ ๋ฆฌํดํฉ๋๋ค.
My Code
๋ด๊ฐ ํ๊ณ ์ถ์๋ ๋ฐฉ๋ฒ (์คํจ ๐คทโ๏ธ but! ์ป์ ๊ฑฐ ์์ ๐)
map์ ์ด์ฉํด์ ์ง์๋ฒ์งธ ์๋ค์ ๋๋ฌธ์๋ก ๋ง๋ค๊ณ
join์ผ๋ก ๋ฌถ์ด์ค ๋ค์์ ์ต์ข ์ ์ผ๋ก ์ถ๋ ฅํ๊ณ ์ถ์์ผ๋
์ง์๋ฒ์งธ์ ๊ธ์๊ฐ ๋๋ฌธ์๋ก ๋ณํ์ด ์๋ผ๊ณ undefined๊ฐ ๋ฌ๋ค!
์๋๋ map์ ์ด์ฉํ๋ ์ฝ๋์ด๋ค.
function solution(s) {
var answer = '';
let strArr = s.split(' ');
strArr = strArr.map((a) => {
for (let i = 0 ; i < a.length ; i ++ ) {
(i % 2 === 0 ? a[i].toUpperCase() : a[i].toLowerCase())
}
})
answer = strArr.join(' ');
return answer;
}
๋๋ฅ...๐พ
๋ค๋ฅธ๋ฐฉ๋ฒ์ ์ฐพ์ ํฐ๋ฒ ํฐ๋ฒ ๋์ ์ผ์
์๋กญ๊ฒ ๋ฐฐ์ด ๊ฒ์ ๋ฐฐ์ด์ ๋ฐ๊พธ๊ธฐ์๋ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๋
์ฐจ๋ผ๋ฆฌ ๋น ๋ฐฐ์ด์๋ค๊ฐ ์ ์ฅํด์ ์๋กญ๊ฒ ๋ฆฌํดํ๋ ๊ฒ์ด์๋ค.
function solution(s) {
var answer = [];
let strArr = s.split(' ');
let tmp = '';
strArr.forEach(ele => {
for(let i = 0 ; i < ele.length; i ++) {
i % 2 === 0 ? tmp += ele[i].toUpperCase() : tmp += ele[i].toLowerCase() ;
}
answer.push(tmp);
tmp = "";
});
return answer.join(' ');
}
์์ ์ด๋ฉด ๋ฐฐ์ด์ ์๋ ๊ฒ๋ค์ for๋ฌธ์ ์ด์ฉํด์ ๋ง๋ค ์๊ฐ์ด ๊ฐํ์์ ํ ๋ฐ
๋ฉ์๋๋ฅผ ํตํด ํ์ฉํ ๋ฐฉ๋ฒ์ผ๋ก ์๊ฐ์ ๋ฐฉํฅ์ด ์ ํ๋๊ณ ์๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ์ฌ๋๋ค ์ฝ๋ ๋ณด๋ค๊ฐ ๋ฐ๊ฒฌํ ๊ฑด๋ฐ
map()์ ์ด์ฉํ ์ ์์๋ค.
๋ฐฐ์ด ์์ ๋ฐฐ์ด์ ๋ ๋ง๋ค๋ฉด ๊ฐ๋ฅํ๋ค.
๋ฐฐ์ด๋ค์ ๊ฐ๊ฐ ์ธ๋ฑ์ค๊ฐ ์ง์๊ฐ ๋๋์ง ์ฌ๋ถ๋ฅผ ํ๋ณํ๊ณ
๊ทธ์ ๋ฐ๋ผ ๋๋ฌธ์์ ์๋ฌธ์๋ก ๊ฐ๊ฐ ๋ง๋ค์ด์ค ๋ค์ join()์ ํตํด string์ผ๋ก ๋ฐํํ๋ค.
function solution(s) {
let strArr = s.split(' ')
.map((ele) => ele.split('')
.map((ele, idx) => idx % 2 === 0 ? ele.toUpperCase() : ele.toLowerCase())
.join(''))
.join(' ')
return strArr;
}
์ด ์ฝ๋๋ฅผ ๋ณด๊ณ ์ํ๊ฐ ๋๋ ๋๋์ ๋ฐ์๋ค.
์ฆ๊ฑฐ์ด ์ฝ๋ฉ ํ์ธ์.
'Algorithms > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ (0) | 2022.05.27 |
---|---|
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ์์ฐ์ ๋ค์ง์ด ๋ฐฐ์ด๋ก ๋ง๋ค๊ธฐ (0) | 2022.05.22 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ์ฒด์ก๋ณต (0) | 2022.05.19 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ์ ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ (0) | 2022.05.17 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ํ์ค๋ ์ (0) | 2022.05.14 |