Problem
- The examples below show you how to write function
mumbling
:- 아래의 예는 함수
mumbling
을 어떻게 작성하는지 보여준다.
For example:
mumbling('abce'); // A-Bb-Ccc-Dddd
mumbling('code'); // C-Oo-Ddd-Eeee
Solution 01
function mumbling(str) {
let arr = [];
for (let i = 0; i < str.length; i++) {
let result = '';
for (let j = 0; j < i + 1; j++) {
result += j === 0 ? str[i].toUpperCase() : str[i].toLowerCase();
}
arr.push(result);
}
return arr.join('-');
}
mumbling('abcd'); // A-Bb-Ccc-Dddd
mumbling('code'); // C-Oo-Ddd-Eeee
toUpperCase()
: 문자열을 대문자로 변환한다.
toLowerCase()
: 문자열을 소문자로 변환한다.
push()
: 배열의 끝에 새 element를 추가하고, 새로운 길이를 반환한다.
join()
: 배열의 모든 element를 결합하고, 새 문자열로 반환한다.
Solution 02
function mumbling(str) {
return str
.split('')
.map((i, index) => i.toUpperCase() + i.toLowerCase().repeat(index))
.join('-');
}
mumbling('abcd'); // A-Bb-Ccc-Dddd
mumbling('code'); // C-Oo-Ddd-Eeee
split()
: 문자열을 부분 문자열로 분할하고, 새 배열로 반환한다.
map()
: 배열 내 모든 element에 대해, 호출한 함수의 결과를 모아 새 배열로 반환한다.
repeat()
: 지정된 수의 복사본을 가진 새 문자열을 반환한다.
Solution 03
function mumbling(str) {
return [...str].map((i, index) => {
return i.toUpperCase() + i.toLowerCase().repeat(index);
}).join('-');
}
mumbling('abcd'); // A-Bb-Ccc-Dddd
mumbling('code'); // C-Oo-Ddd-Eeee