[アルゴリズム/規格]2439号::星図-2(C++)
5183 ワード
に質問🏻 :: [2439号]拍摄星子-2
(緑色のテキストをクリックして問題に移動)
1行目は1つの星、2行目は2つの星、N行目はNつの星です.ただし、右揃えの星を出力してください(例を参照).
アルゴリズム💻
これは2438番のように、もう一つの問題です.2438番ポイントとは異なり、右揃えを行います.まずスペースを出力し、星を出力します.
星の数は2438番のように、N行ごとにN個出力されます.だから星の部分は2438号と同じでいいです.( 2438番ショートカット )
N行を増やすごとに、星を撮る個数が1つ増えます.逆に、空白の数は1つ減ります.また,最後の行はN個出力しなければならない.
🚨 リファレンス🚨
直接解けるが,CとC++の標準I/O同期を中断する方法で行った.
(
cin.tie(NULL)
は不要です.入力と出力が交互になっているので、利用可能なコンテンツはありません!)詳しくは15552番解答で説明します.( 15552の説明ショートカット )
💡完全なコード💡
白駿サイトで変数名を提出したのはi,j,kと書いてありますが、他のブログを参考にして、変数名を勝手に取ってはいけないような気がします.
変数名に自分の意味を与える.行
row
、星のfor文変数star
、スペースのfor文変数blank
を出力します.最終コードの変更
#include <iostream>
using namespace std;
int main()
{
//입출력의 반복은 없으므로 cin.tie(NULL);은 쓸 필요 없다.
ios_base::sync_with_stdio(false);
int N, row, star, blank;
cin >> N;
//1행부터 N행까지 반복
for (row = 1; row <= N; row++) {
//공백이 먼저 출력된다. 공백은 N-row 만큼 출력된다.
for (blank = 0; blank < N - row; blank++) {
cout << " ";
}
//공백 이후에 별 출력. 별은 행 개수만큼 출력된다.
for (star = 0; star < row; star++) {
cout << "*";
}
cout << "\n";
}
return 0;
}
振り返る🤔
みんなはこれが簡単な問題だと言っているが,私はずいぶん苦労した.思いがけずもう一つのドアが増えた.これで性能が低下すると考えられるかどうかは、原因が分からない.
「私は空白が4-3-2-1に減ることを知っています.どうやって星と一緒にいますか?」この考えの答えが見つからず、結局他の人の答えを見た.
for文をもう一つ書けばいいのですが、これは簡単な問題です.
今度はどんなルールがあるか調べて、図に分析してからコードを書きます.すぐにコードを書くことに悩んでいたと思います.
変数名i,j,kを設定するときは複雑ですが、変えてみると、用途が何なのかわかりやすいようです.
Reference
Reference
この問題について([アルゴリズム/規格]2439号::星図-2(C++)), 我々は、より多くの情報をここで見つけました https://velog.io/@miiingirok/알고리즘백준-2439번-별-찍기-2-Cテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol