[プログラマー]矩形星図-Javascript

7600 ワード

質問リンク
質問する
この問題には、標準入力として2つの整数nとmがあります.
アスタリスク(*)を使用して、長さn、長さmの長方形を出力します.

入出力5 3**********
に答える
5.3を親切に入力するとn = [5,3]配列に変更され、a = n[0], b=n[1] a,b変数が生成される.
今はこれらを利用してforゲートを回して問題を解くだけでいいです.
5つの星からなる行を3つ出力すればいいです.
process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
    const n = data.split(" "); // " "을 기준으로 잘라 배열로 만들어준다.
    const a = Number(n[0]), b = Number(n[1]); // a = 5이고 b = 3이다.
    
    for(let i=0; i<b; i++){ // 먼저 3줄 반복한다.
        let str = ""; // 문자열이 담기는 변수를 하나 만든다
        for(let j=0; j<a; j++){ // 한 줄에서 *을 5번 출력한다.
            str = str + "*" // 아까 만든 변수에 *을 하나씩 추가한다.
        }
        console.log(str);
    }
    
});
このように解くことができますが、より熟知するために、使い方で解く方法を参考にしました.
str.repeat(count);
repeat()メソッドは、文字列を所定の回数繰り返し貼り付けた新しい文字列を返します.詳細
process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
    const n = data.split(" ");
    const a = Number(n[0]), b = Number(n[1]);
    const star = '*'.repeat(a); // *을 a번 반복한다.
    for(var i = 0; i < b; i++) { // 5개의 별로 이루어진 값을 b번 반복한다.
        console.log(star);    
    }    
});
Takeaway
これはfor文を用いて容易に解決できる問題であるが,使用方法で解決する新しい方法を学習した.やはり方法が重要で使い勝手が良い!今日も一つの方法を学びました!アルゴリズムには固定的な答えがない.いろいろな答えがありますが、それぞれの答えの学習点が違います.この魅力には解放された楽しみがあります:)