Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- TABLESPACE
- JDBC
- type
- manifest.json
- codewar
- custom hook
- DB2
- TypeScript
- descendingOrder
- IBM
- codewars
- isSquare
- useEffect
- java api
- react hook
- Debug
- react
Archives
- Today
- Total
taesik
diamond with * 본문
my solution:
function diamond(n){
if(n ===1) return '*\n';
if(n <1) return null;
if(n %2 ===0) return null;
let arr =[];
let count =1;
arr.push(`${'*'.repeat(n)}\n`);
while(n>2) {
arr.unshift(`${' '.repeat(count)}${'*'.repeat(n-2)}\n`);
arr.push(`${' '.repeat(count)}${'*'.repeat(n-2)}\n`);
n=n-2;
count=count+1;
}
return arr.join(',');
function diamond (n) {
if (n <= 0 || n % 2 === 0) return null
str = ''
for (let i = 0; i < n; i++) {
let len = Math.abs((n-2*i-1)/2)
str += ' '.repeat(len)
str += '*'.repeat(n-2*len)
str += '\n'
}
return str
}
function diamond(n){
if( n%2==0 || n<1 ) return null
var x=0, add, diam = line(x,n);
while( (x+=2) < n ){
add = line(x/2,n-x);
diam = add+diam+add;
}
return diam;
}//z.
function repeat(str,x){return Array(x+1).join(str); }
function line(spaces,stars){ return repeat(" ",spaces)+repeat("*",stars)+"\n"; }