๋ฌธ์ ์ค๋ช
๋ฌธ์์ด s๋ ํ ๊ฐ ์ด์์ ๋จ์ด๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ๊ฐ ๋จ์ด๋ ํ๋ ์ด์์ ๊ณต๋ฐฑ๋ฌธ์๋ก ๊ตฌ๋ถ๋์ด ์์ต๋๋ค. ๊ฐ ๋จ์ด์ ์ง์๋ฒ์งธ ์ํ๋ฒณ์ ๋๋ฌธ์๋ก, ํ์๋ฒ์งธ ์ํ๋ฒณ์ ์๋ฌธ์๋ก ๋ฐ๊พผ ๋ฌธ์์ด์ ๋ฆฌํดํ๋ ํจ์, solution์ ์์ฑํ์ธ์.
์ ํ ์กฐ๊ฑด
- ๋ฌธ์์ด ์ ์ฒด์ ์ง/ํ์ ์ธ๋ฑ์ค๊ฐ ์๋๋ผ, ๋จ์ด(๊ณต๋ฐฑ์ ๊ธฐ์ค)๋ณ๋ก ์ง/ํ์ ์ธ๋ฑ์ค๋ฅผ ํ๋จํด์ผํฉ๋๋ค.
- ์ฒซ ๋ฒ์งธ ๊ธ์๋ 0๋ฒ์งธ ์ธ๋ฑ์ค๋ก ๋ณด์ ์ง์๋ฒ์งธ ์ํ๋ฒณ์ผ๋ก ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
์ ์ถ๋ ฅ ์
s | return |
"try hello world" | "TrY HeLlO WoRlD" |
์ ์ถ๋ ฅ ์ ์ค๋ช
"try hello world"๋ ์ธ ๋จ์ด "try", "hello", "world"๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ๊ฐ ๋จ์ด์ ์ง์๋ฒ์งธ ๋ฌธ์๋ฅผ ๋๋ฌธ์๋ก, ํ์๋ฒ์งธ ๋ฌธ์๋ฅผ ์๋ฌธ์๋ก ๋ฐ๊พธ๋ฉด "TrY", "HeLlO", "WoRlD"์ ๋๋ค. ๋ฐ๋ผ์ "TrY HeLlO WoRlD" ๋ฅผ ๋ฆฌํดํฉ๋๋ค.
< ๋์ ํ์ด >
function solution(s) {
// ๋จ์ด๋ณ๋ก ๋๋๊ธฐ
let words = s.split(' ');
// ๊ฐ ๋จ์ด๋ณ๋ก ์ํ
let transformedWords = words.map(word => {
// ๋จ์ด์ ๊ฐ ๋ฌธ์๋ฅผ ์ํํ๋ฉด์ ๋ฐํ
let transformedWord = word.split('').map((char,index) => {
if( index%2 === 0 ){
return char.toUpperCase();
}
else {
return char.toLowerCase();
}
}).join('');
return transformedWord;
})
return transformedWords.join(' ');
}
s = 'try hello world'
words = [ 'try', 'hello', 'world' ]
๋จ์ด ( word ) ์ ๊ฐ ๋ฌธ์๋ฅผ ์ํํ๋ฉด์ ๋ฐํ
1. word = 'try' → transformedWord = 'TrY'
2. word = 'hello' → transformedWord = 'HeLlO'
3. word = 'world' → transformedWord = 'WoRlD'
transforemedWords= [ 'TrY', 'HeLlO', 'WoRlD' ]
< ๋ค๋ฅธ ์ฌ๋์ ํ์ด >
function solution(s) {
return s.toUpperCase().replace(/(\w)(\w)/g, function(a){return a[0].toUpperCase()+a[1].toLowerCase();})
}
๋ฌธ์์ด ๋ฉ์๋
- toUpperCase() : ๋ฌธ์์ด์ ๋ชจ๋ ๋๋ฌธ์๋ก ๋ณํํ๋ ๋ฉ์๋
- replace() : ๋ฌธ์์ด์์ ํน์ ํจํด๊ณผ ์ผ์นํ๋ ๋ถ๋ถ์ ๋ค๋ฅธ ๋ฌธ์์ด๋ก ๊ต์ฒดํ๋ ๋ฉ์๋
์ ๊ท ํํ์
- \w : ๋ฐ์ค ๋ฌธ์๋ฅผ ํฌํจํ ์์ซ์ ๋ฌธ์์ ๋์ํ๋ค.
- (\w)(\w) : 2๊ฐ์ ์ฐ์๋ ๋ฌธ์๋ฅผ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ด ์บก์ณํ๋ค.
- g : ๊ธ๋ก๋ฒ ํ๋๊ทธ๋ก, ๋ฌธ์์ด์ ๋ชจ๋ ์ผ์น ํญ๋ชฉ์ ์ฐพ๊ณ ์ฒ๋ฆฌํ ์ ์๋ค.
s = 'try hello world' → 'TRY HELLO WORLD'
TR → Tr
HE → He
LL → Ll
WO →Wo
RL → Rl
'TrY HeLlO WoRlD'
'์๊ณ ๋ฆฌ์ฆ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Lv.1 ์์ ์ฐพ๊ธฐ (0) | 2024.12.04 |
---|---|
Lv.0 ๋ถ์์ ๋ง์ (1) | 2024.07.25 |
Lv.1 ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์ (2) | 2024.07.14 |
Lv.1 ํฌ๊ธฐ๊ฐ ์์ ๋ถ๋ถ ๋ฌธ์์ด (0) | 2024.07.10 |
Lv.1 ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฐ์ ๊ธ์ (0) | 2024.07.07 |