Problem
- You have to write a function ‘pattern’ which returns the following pattern upto ‘n’ number of rows.
- n 개의 row까지 패턴을 반환하는 함수를 작성한다.
- If n < 1 then it should return ‘ ‘.
- There are no whitespaces in the pattern.
Pattern
1
22
333
....
.....
nnnnnn
Solution 01
function pattern(n) {
let result = [];
for (let i = 1; i <= n; i++) {
result.push(i.toString().repeat(i));
}
return result.join('\n');
}
pattern(0); // ''
pattern(1); // 1
pattern(2); // 1\n22
pattern(3); // 1\n22\n333
pattern(4); // 1\n22\n333\n4444
push()
: 배열의 끝에 새 element를 추가하고, 새로운 길이를 반환한다.
toString()
: 숫자를 문자열로 변환한다.
repeat()
: 지정된 수의 복사본을 가진 새 문자열을 반환한다.
join()
: 배열의 모든 element를 결합하고, 새 문자열로 반환한다.
Solution 02
function pattern(n) {
let result = '';
for (let i = 1; i <= n; i++) {
for (let j = 0; j < i; j++) {
result += i;
}
result += '\n';
}
return result.slice(0, -1);
}
pattern(0); // ''
pattern(1); // 1
pattern(2); // 1\n22
pattern(3); // 1\n22\n333
pattern(4); // 1\n22\n333\n4444
slice()
: 문자열/배열의 일부를 추출하고, 새 문자열/배열로 반환한다.