<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>社家畜日記</title>
<link>https://ameblo.jp/syakachiku/</link>
<atom:link href="https://rssblog.ameba.jp/syakachiku/rss20.xml" rel="self" type="application/rss+xml" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
<description>外では社畜、家では家畜、自由を手に入れるまでの記録</description>
<language>ja</language>
<item>
<title>docker-compose.ymlの話</title>
<description>
<![CDATA[ <p>どうも社家畜です。</p><p>今回はdockerでの出来事を備忘録として書いておきます。多分転職できたとしたらすぐに出てくるエラーだと思い一応残しておこうかなと。</p><p>&nbsp;</p><p>&nbsp;</p><p>復習がてら講座の課題を２週目しようとdocker-compose up-dをしたところ</p><p>こんなエラーが・・・</p><p><a href="https://stat.ameba.jp/user_images/20250606/04/syakachiku/f6/d8/p/o0862010415610686907.png"><img alt="" contenteditable="inherit" height="75" src="https://stat.ameba.jp/user_images/20250606/04/syakachiku/f6/d8/p/o0862010415610686907.png" width="620"></a></p><p>&nbsp;</p><p>ＡＩ先生に丸っと翻訳してもらった結果、</p><p>&nbsp;</p><p>「今回作ろうとしているコンテナでlaravel_appっていう名前が競合しているよ」</p><p>&nbsp;</p><p>という内容でした。</p><p>&nbsp;</p><h3>一般的な現場の対応の傾向</h3><h4>1. 既存のコンテナを削除する</h4><ul node="[object Object]"><li node="[object Object]"><strong>多くの場合、まず既存のコンテナを削除します。</strong></li><li node="[object Object]">理由は、既存のコンテナとの競合を避けるためです。</li><li node="[object Object]">docker-compose downやdocker rmコマンドで削除し、新しい設定で再デプロイします。</li></ul><h4>2.&nbsp;docker-compose.ymlの名前を変更する</h4><ul node="[object Object]"><li node="[object Object]">既存のコンテナと競合している場合に、<strong>新規のコンテナで名前を変える</strong>こともありますが、</li><li node="[object Object]"><strong>基本的には既存の競合を解消→削除してから、新しい設定で立ち上げる</strong>方針が優先されることが多いです。</li></ul><h3>なぜそうなるのか</h3><ul node="[object Object]"><li node="[object Object]"><strong>シンプルに競合解消できる</strong>ため。</li><li node="[object Object]"><strong>既存のコンテナを削除して</strong>、新しい設定で再起動する方が、管理も分かりやすいからです。</li></ul><h3>まとめ</h3><ul node="[object Object]"><li node="[object Object]"><strong>確率が大きいのは：</strong><br><strong>既存のコンテナを削除して、新しい設定のコンテナを作る</strong>です。</li></ul><p>&nbsp;</p><p>docker-compose.ymlの内容は簡単に言うとレシピみたいなもので（解釈が間違っていたらごめんなさい・・・）ここに書かれている内容でコンテナを立ち上げますよということらしい。</p><p>&nbsp;</p><p>同じコンテナでdocker-compose&nbsp; up-dをすると、docker-compose.ymlに設定されている名前を使って立ち上げようとするので、そりゃあ同じ名前になるわなと・・・</p><p>&nbsp;</p><p>ならば今回はコンテナ削除で試してガッテン！</p><p>&nbsp;</p><p>docker&nbsp;rm&nbsp;fe77b1dab2925f3cb9dac9fde1c0bd8a4b4d81e42a341d78df2e82b02dde71f4</p><p>&nbsp;</p><p>上の画像の""で囲まれているやつをはりつけてエンター！</p><p>&nbsp;</p><p>そしてdocker-compose ps-aで保存されている内容を確認すると・・・</p><p>&nbsp;</p><p>やる前</p><p><a href="https://stat.ameba.jp/user_images/20250606/05/syakachiku/e9/f4/p/o0898019415610690882.png"><img alt="" contenteditable="inherit" height="134" src="https://stat.ameba.jp/user_images/20250606/05/syakachiku/e9/f4/p/o0898019415610690882.png" width="620"></a></p><p>やった後</p><p><a href="https://stat.ameba.jp/user_images/20250606/05/syakachiku/40/85/p/o0903016215610690739.png"><img alt="" contenteditable="inherit" height="111" src="https://stat.ameba.jp/user_images/20250606/05/syakachiku/40/85/p/o0903016215610690739.png" width="620"></a></p><p>4つある中で一番下が消えてる！！</p><p>&nbsp;</p><p>成功しました。</p><p>&nbsp;</p><p>これでもう一度docker-compose buildをしてup-dをしてみると</p><p><a href="https://stat.ameba.jp/user_images/20250606/05/syakachiku/4b/5e/p/o0898014115610691396.png"><img alt="" contenteditable="inherit" height="97" src="https://stat.ameba.jp/user_images/20250606/05/syakachiku/4b/5e/p/o0898014115610691396.png" width="620"></a></p><p>&nbsp;</p><p>いや次は㏈かよ・・・</p><p>&nbsp;</p><p>docker stop laravel_db</p><p>起動しているかもしれないので止めて</p><p>&nbsp;</p><p>docker rm laravel_db</p><p>Laravel_dbを単体で消す</p><p>&nbsp;</p><p>これでもう一度docker-compose up-dをしてみると・・・</p><p><a href="https://stat.ameba.jp/user_images/20250606/15/syakachiku/60/fa/p/o0873011815610956458.png"><img alt="" contenteditable="inherit" height="84" src="https://stat.ameba.jp/user_images/20250606/15/syakachiku/60/fa/p/o0873011815610956458.png" width="620"></a></p><p>&nbsp;</p><p>薄々思ってはいたけど今度はadminerか・・・</p><p>ってかこれはもしかしてbuildしたせいで正規のコンテナなのに1回目のコンテナと2回目のコンテナが同じ名前でbuildしたからなったのかも・・・</p><p>&nbsp;</p><p>docker-compose down</p><p>で今いるdocker-compose.ymlの管理しているイメージをすべて停止！削除！</p><p><a href="https://stat.ameba.jp/user_images/20250606/15/syakachiku/0c/9e/p/o0498018715611010776.png"><img alt="" height="158" src="https://stat.ameba.jp/user_images/20250606/15/syakachiku/0c/9e/p/o0498018715611010776.png" width="420"></a></p><p>おお！停止して消えていくぅううう！</p><p>&nbsp;</p><p>一応docker ps -aで確認っと・・・</p><p><a href="https://stat.ameba.jp/user_images/20250606/15/syakachiku/bb/f3/p/o0918013015611021226.png"><img alt="" height="88" src="https://stat.ameba.jp/user_images/20250606/15/syakachiku/bb/f3/p/o0918013015611021226.png" width="620"></a></p><p>少なくなってる！adminerがなんか恐いけど大丈夫でしょ！</p><p>&nbsp;</p><p><a href="https://stat.ameba.jp/user_images/20250606/15/syakachiku/d0/54/p/o0904019515611025672.png"><img alt="" contenteditable="inherit" height="134" src="https://stat.ameba.jp/user_images/20250606/15/syakachiku/d0/54/p/o0904019515611025672.png" width="620"></a></p><p>いやダメなんかーい！！！！</p><p>&nbsp;</p><p>downして、adminerが残った状態にしました。</p><p>個別で</p><p>docker rm adminer</p><p>を消しました。</p><p>&nbsp;</p><p><a href="https://stat.ameba.jp/user_images/20250606/16/syakachiku/72/82/p/o0927014515611033645.png"><img alt="" height="97" src="https://stat.ameba.jp/user_images/20250606/16/syakachiku/72/82/p/o0927014515611033645.png" width="620"></a></p><p>全てupになった！</p><p>&nbsp;</p><p>ローカルホストにアクセスするとnot found!!</p><p>やっと成功しました。</p><p>良かった・・・</p><p>&nbsp;</p><p><b>まとめ</b></p><p>・docker-compose.ymlはコンテナのレシピ！</p><p>・一度up-dしたら最後はdownしといたほうがいい！（エラーがでたコンテナだけ消しても同じレシピで立ち上げたら二重に立ち上がるので結局は別でエラーがでる！）</p><p>・downしても消えない奴は個別にrmで消す！</p><p>・違うymlでのbuildだったら競合しない！</p><p>&nbsp;</p><p>&nbsp;</p><p>いやー長かった・・・</p><p>&nbsp;</p><p>&nbsp;</p>
]]>
</description>
<link>https://ameblo.jp/syakachiku/entry-12908719098.html</link>
<pubDate>Fri, 06 Jun 2025 16:19:43 +0900</pubDate>
</item>
<item>
<title>複数回のランダムアクセス</title>
<description>
<![CDATA[ <p>&nbsp;</p><div class="ogpCard_root"><article class="ogpCard_wrap" contenteditable="false" style="display:inline-block;max-width:100%"><a class="ogpCard_link" data-ogp-card-log="" href="https://paiza.jp/works/mondai/data_structure/data_structure__array_step2" rel="noopener noreferrer" style="display:flex;justify-content:space-between;overflow:hidden;box-sizing:border-box;width:620px;max-width:100%;height:120px;border:1px solid #e2e2e2;border-radius:4px;background-color:#fff;text-decoration:none" target="_blank"><span class="ogpCard_content" style="display:flex;flex-direction:column;overflow:hidden;width:100%;padding:16px"><span class="ogpCard_title" style="-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:2;max-height:48px;line-height:1.4;font-size:16px;color:#333;text-align:left;font-weight:bold;overflow:hidden">プログラミング練習問題「複数回のランダムアクセス」</span><span class="ogpCard_description" style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.6;margin-top:4px;color:#757575;text-align:left;font-size:12px">問題を解いてスキルアップ！みんなも一緒に解いてみよう！</span><span class="ogpCard_url" style="display:flex;align-items:center;margin-top:auto"><span class="ogpCard_iconWrap" style="position:relative;width:20px;height:20px;flex-shrink:0"><img alt="リンク" class="ogpCard_icon" height="20" loading="lazy" src="https://c.stat100.ameba.jp/ameblo/symbols/v3.20.0/svg/gray/editor_link.svg" style="position:absolute;top:0;bottom:0;right:0;left:0;height:100%;max-height:100%" width="20"></span><span class="ogpCard_urlText" style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#757575;font-size:12px;text-align:left">paiza.jp</span></span></span><span class="ogpCard_imageWrap" style="position:relative;width:120px;height:120px;flex-shrink:0"><img alt="" class="ogpCard_image" data-ogp-card-image="" height="120" loading="lazy" src="https://paiza.jp/assets/work/mondai/ogp-3b2d58d488180b42131a62f6aae0d865d50498311eee4e4173d9354d94b4a835.png" style="position:absolute;top:50%;left:50%;object-fit:cover;min-height:100%;min-width:100%;transform:translate(-50%,-50%)" width="120"></span></a></article></div><p>&nbsp;</p><pre><code>1    $input_count = (int)trim(fgets(STDIN));2    $data = trim(fgets(STDIN));3    $datas = explode(" ", $data); // ★14    $out_count = (int)trim(fgets(STDIN));5    $position = trim(fgets(STDIN));6    $positions = explode(" ", $position); // ★278    foreach ($positions as $position) { // ★39        $output = $datas[$position] -1 ; // ★410    }11         echo $output, "\n"; // ★5</code></pre><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>指摘事項</p><ol node="[object Object]"><li node="[object Object]"><p><strong>★1:&nbsp;$datas&nbsp;の要素が文字列のまま</strong>&nbsp;explode(" ", \$data)&nbsp;の結果は、数値の文字列&nbsp;"1",&nbsp;"2",&nbsp;"3"&nbsp;などが入った配列になります。これを\$datas[\$position]&nbsp;のようにインデックスとして使う場合、PHPが自動的に数値に変換してくれますが、\$datas&nbsp;の中身自体も数値にしておいた方が、後々の処理で混乱しにくいです。&nbsp;array_map('intval', ...)&nbsp;を使うと良いでしょう。</p></li><li node="[object Object]"><p><strong>★2:&nbsp;$positions&nbsp;の要素も文字列のまま</strong>&nbsp;これも ★1 と同じ理由です。$positions&nbsp;の各要素は「何番目か」を示す数値として使うので、array_map('intval', ...)&nbsp;で数値に変換しておきましょう。</p></li><li node="[object Object]"><p><strong>★3: ループ変数名と外の変数名が同じ</strong>&nbsp;\$position&nbsp;という変数が、\$positions = explode(" ", \$position);&nbsp;の行で使われた後、foreach (\$positions as \$position)&nbsp;でループ変数としても使われています。これはPHPの構文上問題ありませんが、コードを読むときに混乱を招く可能性があります。ループ変数は&nbsp;\$_p&nbsp;や&nbsp;$b_value&nbsp;など、別の名前に変えることをお勧めします。</p></li><li node="[object Object]"><p><strong>★4: インデックスの計算と取り出す値が間違っている</strong>&nbsp;ここが一番重要な間違いです。</p><ul node="[object Object]"><li node="[object Object]">$datas[$position]&nbsp;で配列&nbsp;\$datas&nbsp;から値を取り出そうとしています。ここまでは良いのですが、\$position&nbsp;は&nbsp;B_i&nbsp;の値、つまり「何番目か」（例:&nbsp;1,&nbsp;2,&nbsp;3）を直接指しています。</li><li node="[object Object]">PHPの配列は&nbsp;<strong>0から始まるインデックス</strong>&nbsp;です。「1番目」の値はインデックス&nbsp;0&nbsp;に、「2番目」の値はインデックス&nbsp;1&nbsp;にあります。</li><li node="[object Object]">したがって、\$position&nbsp;(1から始まる番目) をインデックスとして使うには、\$position - 1&nbsp;とする必要があります。</li><li node="[object Object]">さらに、$datas[$position] - 1&nbsp;と書くと、<strong>取り出したAの値そのものから1を引いてしまっています</strong>。問題は「AのB_i番目の値」なので、取り出した値をそのまま出力する必要があります。</li></ul><p>正しい書き方は、$datas[(int)$position - 1]&nbsp;です。 （$position&nbsp;が文字列から数値に変換済みであれば&nbsp;(int)&nbsp;は不要ですが、安全のため付けています。）</p></li><li node="[object Object]"><p><strong>★5:&nbsp;echo&nbsp;がループの外にある</strong>&nbsp;foreach&nbsp;ループの外で&nbsp;echo $output&nbsp;すると、ループの中で&nbsp;output&nbsp;に代入された<strong>最後の値しか出力されません</strong>。 問題の要求は「各&nbsp;i&nbsp;について、i 行目に A の B_i 番目の値を出力してください」なので、各&nbsp;B_i&nbsp;の処理が終わるたびに&nbsp;echo&nbsp;する必要があります。echo&nbsp;は&nbsp;foreach&nbsp;ループの中に入れるべきです。</p></li></ol>
]]>
</description>
<link>https://ameblo.jp/syakachiku/entry-12908227597.html</link>
<pubDate>Wed, 04 Jun 2025 19:40:00 +0900</pubDate>
</item>
<item>
<title>N行3列の整数の入力</title>
<description>
<![CDATA[ <p>&nbsp;</p><div class="ogpCard_root"><article class="ogpCard_wrap" contenteditable="false" style="display:inline-block;max-width:100%"><a class="ogpCard_link" data-ogp-card-log="" href="https://paiza.jp/works/mondai/stdin_primer/stdin_primer__matrix_data_step2" rel="noopener noreferrer" style="display:flex;justify-content:space-between;overflow:hidden;box-sizing:border-box;width:620px;max-width:100%;height:120px;border:1px solid #e2e2e2;border-radius:4px;background-color:#fff;text-decoration:none" target="_blank"><span class="ogpCard_content" style="display:flex;flex-direction:column;overflow:hidden;width:100%;padding:16px"><span class="ogpCard_title" style="-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:2;max-height:48px;line-height:1.4;font-size:16px;color:#333;text-align:left;font-weight:bold;overflow:hidden">プログラミング練習問題「N 行 3 列の整数の入力」</span><span class="ogpCard_description" style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.6;margin-top:4px;color:#757575;text-align:left;font-size:12px">問題を解いてスキルアップ！みんなも一緒に解いてみよう！</span><span class="ogpCard_url" style="display:flex;align-items:center;margin-top:auto"><span class="ogpCard_iconWrap" style="position:relative;width:20px;height:20px;flex-shrink:0"><img alt="リンク" class="ogpCard_icon" height="20" loading="lazy" src="https://c.stat100.ameba.jp/ameblo/symbols/v3.20.0/svg/gray/editor_link.svg" style="position:absolute;top:0;bottom:0;right:0;left:0;height:100%;max-height:100%" width="20"></span><span class="ogpCard_urlText" style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#757575;font-size:12px;text-align:left">paiza.jp</span></span></span><span class="ogpCard_imageWrap" style="position:relative;width:120px;height:120px;flex-shrink:0"><img alt="" class="ogpCard_image" data-ogp-card-image="" height="120" loading="lazy" src="https://paiza.jp/assets/work/mondai/ogp-3b2d58d488180b42131a62f6aae0d865d50498311eee4e4173d9354d94b4a835.png" style="position:absolute;top:50%;left:50%;object-fit:cover;min-height:100%;min-width:100%;transform:translate(-50%,-50%)" width="120"></span></a></article></div><p>&nbsp;</p>
]]>
</description>
<link>https://ameblo.jp/syakachiku/entry-12908166207.html</link>
<pubDate>Wed, 04 Jun 2025 11:35:51 +0900</pubDate>
</item>
<item>
<title>１行目で与えられるＮ個の整数の入力</title>
<description>
<![CDATA[ <p>&nbsp;</p><div class="ogpCard_root"><article class="ogpCard_wrap" contenteditable="false" style="display:inline-block;max-width:100%"><a class="ogpCard_link" data-ogp-card-log="" href="https://paiza.jp/works/mondai/stdin_primer/stdin_primer__integer_number_boss" rel="noopener noreferrer" style="display:flex;justify-content:space-between;overflow:hidden;box-sizing:border-box;width:620px;max-width:100%;height:120px;border:1px solid #e2e2e2;border-radius:4px;background-color:#fff;text-decoration:none" target="_blank"><span class="ogpCard_content" style="display:flex;flex-direction:column;overflow:hidden;width:100%;padding:16px"><span class="ogpCard_title" style="-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:2;max-height:48px;line-height:1.4;font-size:16px;color:#333;text-align:left;font-weight:bold;overflow:hidden">プログラミング練習問題「【N 個の整数の入力】1 行目で与えられる N 個の整数の入力 (large)」</span><span class="ogpCard_description" style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.6;margin-top:4px;color:#757575;text-align:left;font-size:12px">問題を解いてスキルアップ！みんなも一緒に解いてみよう！</span><span class="ogpCard_url" style="display:flex;align-items:center;margin-top:auto"><span class="ogpCard_iconWrap" style="position:relative;width:20px;height:20px;flex-shrink:0"><img alt="リンク" class="ogpCard_icon" height="20" loading="lazy" src="https://c.stat100.ameba.jp/ameblo/symbols/v3.20.0/svg/gray/editor_link.svg" style="position:absolute;top:0;bottom:0;right:0;left:0;height:100%;max-height:100%" width="20"></span><span class="ogpCard_urlText" style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#757575;font-size:12px;text-align:left">paiza.jp</span></span></span><span class="ogpCard_imageWrap" style="position:relative;width:120px;height:120px;flex-shrink:0"><img alt="" class="ogpCard_image" data-ogp-card-image="" height="120" loading="lazy" src="https://paiza.jp/assets/work/mondai/ogp-3b2d58d488180b42131a62f6aae0d865d50498311eee4e4173d9354d94b4a835.png" style="position:absolute;top:50%;left:50%;object-fit:cover;min-height:100%;min-width:100%;transform:translate(-50%,-50%)" width="120"></span></a></article></div><p>&nbsp;</p><p>&nbsp;</p>
]]>
</description>
<link>https://ameblo.jp/syakachiku/entry-12908119554.html</link>
<pubDate>Tue, 03 Jun 2025 23:58:53 +0900</pubDate>
</item>
<item>
<title>全ての行の長さが不定な2次元配列の出力</title>
<description>
<![CDATA[ <p>&nbsp;</p><div class="ogpCard_root"><article class="ogpCard_wrap" contenteditable="false" style="display:inline-block;max-width:100%"><a class="ogpCard_link" data-ogp-card-log="" href="https://paiza.jp/works/mondai/stdout_primer/stdout_primer__variable_array_step4" rel="noopener noreferrer" style="display:flex;justify-content:space-between;overflow:hidden;box-sizing:border-box;width:620px;max-width:100%;height:120px;border:1px solid #e2e2e2;border-radius:4px;background-color:#fff;text-decoration:none" target="_blank"><span class="ogpCard_content" style="display:flex;flex-direction:column;overflow:hidden;width:100%;padding:16px"><span class="ogpCard_title" style="-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:2;max-height:48px;line-height:1.4;font-size:16px;color:#333;text-align:left;font-weight:bold;overflow:hidden">プログラミング練習問題「すべての行の長さが不定な 2 次元配列の出力」</span><span class="ogpCard_description" style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.6;margin-top:4px;color:#757575;text-align:left;font-size:12px">問題を解いてスキルアップ！みんなも一緒に解いてみよう！</span><span class="ogpCard_url" style="display:flex;align-items:center;margin-top:auto"><span class="ogpCard_iconWrap" style="position:relative;width:20px;height:20px;flex-shrink:0"><img alt="リンク" class="ogpCard_icon" height="20" loading="lazy" src="https://c.stat100.ameba.jp/ameblo/symbols/v3.20.0/svg/gray/editor_link.svg" style="position:absolute;top:0;bottom:0;right:0;left:0;height:100%;max-height:100%" width="20"></span><span class="ogpCard_urlText" style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#757575;font-size:12px;text-align:left">paiza.jp</span></span></span><span class="ogpCard_imageWrap" style="position:relative;width:120px;height:120px;flex-shrink:0"><img alt="" class="ogpCard_image" data-ogp-card-image="" height="120" loading="lazy" src="https://paiza.jp/assets/work/mondai/ogp-3b2d58d488180b42131a62f6aae0d865d50498311eee4e4173d9354d94b4a835.png" style="position:absolute;top:50%;left:50%;object-fit:cover;min-height:100%;min-width:100%;transform:translate(-50%,-50%)" width="120"></span></a></article></div><p>&nbsp;</p><p>$nを読み取る</p><p>&nbsp;</p><p>array_mapを使い文字列を配列にする</p><p>その時下記にあるようにtrimをして、explodeで半角スペースで区切り、intvalで整数にする</p><p>&nbsp;</p><p>forで$nまでのループ処理をする</p><p>&nbsp;</p><p>下記のrangeを使い1からarray_mapで処理した$mを[$i]までの配列を作る</p><p>&nbsp;</p><p>implodeでrangeで作った配列を半角スペースで区切り、最後は改行をして出力</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p><br>&nbsp;array_map('intval', explode(' ', trim(fgets(STDIN))));<br><br>&nbsp;1. `fgets(STDIN)` &nbsp;<br>- 標準入力から1行の文字列を読み取る<br>- 例：`"2 4 3\n"` という文字列<br><br>&nbsp;2. `trim(...)` &nbsp;<br>- 文字列の前後の空白や改行を取り除く<br>- 例：`"2 4 3"`<br><br>&nbsp;3. `explode(' ', ...)` &nbsp;<br>- スペース `' '` を区切りとして、文字列を分割し、配列にする<br>- 例：`["2", "4", "3"]`<br><br>&nbsp;4. `array_map('intval', ...)` &nbsp;<br>- 配列の各要素に対して `intval()`（整数に変換）を適用<br>- 例：`[2, 4, 3]`<br><br>&nbsp;range(1, $M[$i]);`<br><br>&nbsp;1. `$M[$i]` &nbsp;<br>- 配列 `$M` の i 番目の要素を表す、例：`2` や `4`<br><br>&nbsp;2. `range(1, $M[$i])` &nbsp;<br>- 1から `$M[$i]` までのすべての整数の配列を作る<br>- 例： &nbsp;<br>&nbsp; - `$M[$i] = 2` のとき → `[1, 2]` &nbsp;<br>&nbsp; - `$M[$i] = 4` のとき → `[1, 2, 3, 4]`<br><br>&nbsp;全体の動きのまとめ<br><br>1. 最初の行は標準入力から複数の数値を受け取り、それを整数の配列 `$M` に格納している<br>2. そして `range()` は、その中の任意の `M_i` に対して、「1 から M_i までのすべての整数」を配列として作っている<br><br>---<br><br>&nbsp;補足<br>- このコードは「入力から数値列を作り、それぞれの M_i に対して「1 から M_i までの数列」を生成するための準備」<br>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>
]]>
</description>
<link>https://ameblo.jp/syakachiku/entry-12908076214.html</link>
<pubDate>Tue, 03 Jun 2025 17:49:58 +0900</pubDate>
</item>
<item>
<title>直角三角形の出力</title>
<description>
<![CDATA[ <p>&nbsp;</p><div class="ogpCard_root"><article class="ogpCard_wrap" contenteditable="false" style="display:inline-block;max-width:100%"><a class="ogpCard_link" data-ogp-card-log="" href="https://paiza.jp/works/mondai/stdout_primer/stdout_primer__variable_array_step3" rel="noopener noreferrer" style="display:flex;justify-content:space-between;overflow:hidden;box-sizing:border-box;width:620px;max-width:100%;height:120px;border:1px solid #e2e2e2;border-radius:4px;background-color:#fff;text-decoration:none" target="_blank"><span class="ogpCard_content" style="display:flex;flex-direction:column;overflow:hidden;width:100%;padding:16px"><span class="ogpCard_title" style="-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:2;max-height:48px;line-height:1.4;font-size:16px;color:#333;text-align:left;font-weight:bold;overflow:hidden">プログラミング練習問題「直角三角形の出力」</span><span class="ogpCard_description" style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.6;margin-top:4px;color:#757575;text-align:left;font-size:12px">問題を解いてスキルアップ！みんなも一緒に解いてみよう！</span><span class="ogpCard_url" style="display:flex;align-items:center;margin-top:auto"><span class="ogpCard_iconWrap" style="position:relative;width:20px;height:20px;flex-shrink:0"><img alt="リンク" class="ogpCard_icon" height="20" loading="lazy" src="https://c.stat100.ameba.jp/ameblo/symbols/v3.20.0/svg/gray/editor_link.svg" style="position:absolute;top:0;bottom:0;right:0;left:0;height:100%;max-height:100%" width="20"></span><span class="ogpCard_urlText" style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#757575;font-size:12px;text-align:left">paiza.jp</span></span></span><span class="ogpCard_imageWrap" style="position:relative;width:120px;height:120px;flex-shrink:0"><img alt="" class="ogpCard_image" data-ogp-card-image="" height="120" loading="lazy" src="https://paiza.jp/assets/work/mondai/ogp-3b2d58d488180b42131a62f6aae0d865d50498311eee4e4173d9354d94b4a835.png" style="position:absolute;top:50%;left:50%;object-fit:cover;min-height:100%;min-width:100%;transform:translate(-50%,-50%)" width="120"></span></a></article></div><p>&nbsp;</p><p>入力される文字列を整数にしてN行までの直角三角形にする</p><p>&nbsp;</p><p>forでN行までのループ処理を書く</p><p>&nbsp;</p><p>N行までの列をforで上の$iを使ってループさせる</p><p>ifで半角スペースと$iになったら改行する条件分岐にする</p><p>&nbsp;</p><p>反省</p><p>・はじめは全ての行は1から出力と考えており、どうやって次の列に行ったらいいかわからなかったが、難しく考えずに反対から考えると階段になっていたので、そこで改行させることに時間がかかってしまった。見方を変えることが大事。</p><p>&nbsp;</p><p>1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1</p><p>1 2&nbsp; &nbsp; &nbsp; &nbsp; 2 1&nbsp;</p><p>1 2 3&nbsp; &nbsp; 3 2 1&nbsp;</p><p>　　　　　　　</p>
]]>
</description>
<link>https://ameblo.jp/syakachiku/entry-12907876321.html</link>
<pubDate>Mon, 02 Jun 2025 21:44:59 +0900</pubDate>
</item>
<item>
<title>数値を異なる長さで2行出力</title>
<description>
<![CDATA[ <p>&nbsp;</p><div class="ogpCard_root"><article class="ogpCard_wrap" contenteditable="false" style="display:inline-block;max-width:100%"><a class="ogpCard_link" data-ogp-card-log="" href="https://paiza.jp/works/mondai/stdout_primer/stdout_primer__variable_array_step2" rel="noopener noreferrer" style="display:flex;justify-content:space-between;overflow:hidden;box-sizing:border-box;width:620px;max-width:100%;height:120px;border:1px solid #e2e2e2;border-radius:4px;background-color:#fff;text-decoration:none" target="_blank"><span class="ogpCard_content" style="display:flex;flex-direction:column;overflow:hidden;width:100%;padding:16px"><span class="ogpCard_title" style="-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:2;max-height:48px;line-height:1.4;font-size:16px;color:#333;text-align:left;font-weight:bold;overflow:hidden">プログラミング練習問題「数値を異なる長さで 2 行出力」</span><span class="ogpCard_description" style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.6;margin-top:4px;color:#757575;text-align:left;font-size:12px">問題を解いてスキルアップ！みんなも一緒に解いてみよう！</span><span class="ogpCard_url" style="display:flex;align-items:center;margin-top:auto"><span class="ogpCard_iconWrap" style="position:relative;width:20px;height:20px;flex-shrink:0"><img alt="リンク" class="ogpCard_icon" height="20" loading="lazy" src="https://c.stat100.ameba.jp/ameblo/symbols/v3.20.0/svg/gray/editor_link.svg" style="position:absolute;top:0;bottom:0;right:0;left:0;height:100%;max-height:100%" width="20"></span><span class="ogpCard_urlText" style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#757575;font-size:12px;text-align:left">paiza.jp</span></span></span><span class="ogpCard_imageWrap" style="position:relative;width:120px;height:120px;flex-shrink:0"><img alt="" class="ogpCard_image" data-ogp-card-image="" height="120" loading="lazy" src="https://paiza.jp/assets/work/mondai/ogp-3b2d58d488180b42131a62f6aae0d865d50498311eee4e4173d9354d94b4a835.png" style="position:absolute;top:50%;left:50%;object-fit:cover;min-height:100%;min-width:100%;transform:translate(-50%,-50%)" width="120"></span></a></article></div><p>　</p><p>最初に２つの数字が半角スペースで入力されるのでexplodeを使い半角スペースで区切る</p><p>forで最初の数値分の1～Ｎ個までを繰り返して出力</p><p>ifで半角スペースと終わりで改行を入れる</p><p>&nbsp;</p><p>新しくforで次の数値分1～Ｍ個までを繰り返して出力</p><p>上と同じく半角スペースと終わりで改行を入れる</p><p>&nbsp;</p><p>反省</p><p>・forではＮ個Ｍ個なので</p><p>&lt;=</p><p>だがifでは最後は改行を入れるので</p><p>&lt;</p><p>のみにすること</p><p>比較演算子の理解</p>
]]>
</description>
<link>https://ameblo.jp/syakachiku/entry-12907839124.html</link>
<pubDate>Mon, 02 Jun 2025 16:41:32 +0900</pubDate>
</item>
<item>
<title>N個の文字を半分ずつ出力</title>
<description>
<![CDATA[ <p>&nbsp;</p><div class="ogpCard_root"><article class="ogpCard_wrap" contenteditable="false" style="display:inline-block;max-width:100%"><a class="ogpCard_link" data-ogp-card-log="" href="https://paiza.jp/works/mondai/stdout_primer/stdout_primer__variable_array_step1" rel="noopener noreferrer" style="display:flex;justify-content:space-between;overflow:hidden;box-sizing:border-box;width:620px;max-width:100%;height:120px;border:1px solid #e2e2e2;border-radius:4px;background-color:#fff;text-decoration:none" target="_blank"><span class="ogpCard_content" style="display:flex;flex-direction:column;overflow:hidden;width:100%;padding:16px"><span class="ogpCard_title" style="-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:2;max-height:48px;line-height:1.4;font-size:16px;color:#333;text-align:left;font-weight:bold;overflow:hidden">プログラミング練習問題「N 個の文字を半分ずつ出力」</span><span class="ogpCard_description" style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.6;margin-top:4px;color:#757575;text-align:left;font-size:12px">問題を解いてスキルアップ！みんなも一緒に解いてみよう！</span><span class="ogpCard_url" style="display:flex;align-items:center;margin-top:auto"><span class="ogpCard_iconWrap" style="position:relative;width:20px;height:20px;flex-shrink:0"><img alt="リンク" class="ogpCard_icon" height="20" loading="lazy" src="https://c.stat100.ameba.jp/ameblo/symbols/v3.20.0/svg/gray/editor_link.svg" style="position:absolute;top:0;bottom:0;right:0;left:0;height:100%;max-height:100%" width="20"></span><span class="ogpCard_urlText" style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#757575;font-size:12px;text-align:left">paiza.jp</span></span></span><span class="ogpCard_imageWrap" style="position:relative;width:120px;height:120px;flex-shrink:0"><img alt="" class="ogpCard_image" data-ogp-card-image="" height="120" loading="lazy" src="https://paiza.jp/assets/work/mondai/ogp-3b2d58d488180b42131a62f6aae0d865d50498311eee4e4173d9354d94b4a835.png" style="position:absolute;top:50%;left:50%;object-fit:cover;min-height:100%;min-width:100%;transform:translate(-50%,-50%)" width="120"></span></a></article></div><p>&nbsp;</p><p>intvalで整数にしてNを読み込む</p><p>&nbsp;</p><p>前半のループはforで1～Ｎ/2個までを表示させる</p><p>その中でifを使い、半角スペースを入れて出力する</p><p>ループの最後は改行にする</p><p>&nbsp;</p><p>後半のループはＮ/2+1個～N個までを表示させる</p><p>前半と同じように半角スペースを入れて出力</p><p>最後は改行</p><p>&nbsp;</p><p>反省</p><p>・IF文の理解を高めること</p><p>・後半の$iは１ではなくＮ/2+1から始めないと前半の続きにはならない</p><p>&nbsp;</p>
]]>
</description>
<link>https://ameblo.jp/syakachiku/entry-12907834736.html</link>
<pubDate>Mon, 02 Jun 2025 16:09:45 +0900</pubDate>
</item>
<item>
<title>N * N の九九表の出力</title>
<description>
<![CDATA[ <p>&nbsp;</p><div class="ogpCard_root"><article class="ogpCard_wrap" contenteditable="false" style="display:inline-block;max-width:100%"><a class="ogpCard_link" data-ogp-card-log="" href="https://paiza.jp/works/mondai/stdout_primer/stdout_primer__2dim_array_boss" rel="noopener noreferrer" style="display:flex;justify-content:space-between;overflow:hidden;box-sizing:border-box;width:620px;max-width:100%;height:120px;border:1px solid #e2e2e2;border-radius:4px;background-color:#fff;text-decoration:none" target="_blank"><span class="ogpCard_content" style="display:flex;flex-direction:column;overflow:hidden;width:100%;padding:16px"><span class="ogpCard_title" style="-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:2;max-height:48px;line-height:1.4;font-size:16px;color:#333;text-align:left;font-weight:bold;overflow:hidden">プログラミング練習問題「【n * n の 2 次元配列の表示】N * N の九九表の出力」</span><span class="ogpCard_description" style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.6;margin-top:4px;color:#757575;text-align:left;font-size:12px">問題を解いてスキルアップ！みんなも一緒に解いてみよう！</span><span class="ogpCard_url" style="display:flex;align-items:center;margin-top:auto"><span class="ogpCard_iconWrap" style="position:relative;width:20px;height:20px;flex-shrink:0"><img alt="リンク" class="ogpCard_icon" height="20" loading="lazy" src="https://c.stat100.ameba.jp/ameblo/symbols/v3.20.0/svg/gray/editor_link.svg" style="position:absolute;top:0;bottom:0;right:0;left:0;height:100%;max-height:100%" width="20"></span><span class="ogpCard_urlText" style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#757575;font-size:12px;text-align:left">paiza.jp</span></span></span><span class="ogpCard_imageWrap" style="position:relative;width:120px;height:120px;flex-shrink:0"><img alt="" class="ogpCard_image" data-ogp-card-image="" height="120" loading="lazy" src="https://paiza.jp/assets/work/mondai/ogp-3b2d58d488180b42131a62f6aae0d865d50498311eee4e4173d9354d94b4a835.png" style="position:absolute;top:50%;left:50%;object-fit:cover;min-height:100%;min-width:100%;transform:translate(-50%,-50%)" width="120"></span></a></article></div><p>&nbsp;</p><p>始めに入力された数値Ｎを取得する</p><p>九九表の出力でカウントを9にしたところをＮにする</p><p>ifのところもＮを入れておく</p><p>&nbsp;</p><p>&nbsp;</p>
]]>
</description>
<link>https://ameblo.jp/syakachiku/entry-12907677173.html</link>
<pubDate>Sun, 01 Jun 2025 22:38:26 +0900</pubDate>
</item>
<item>
<title>九九表の出力</title>
<description>
<![CDATA[ <p>&nbsp;</p><div class="ogpCard_root"><article class="ogpCard_wrap" contenteditable="false" style="display:inline-block;max-width:100%"><a class="ogpCard_link" data-ogp-card-log="" href="https://paiza.jp/works/mondai/stdout_primer/stdout_primer__2dim_array_step3" rel="noopener noreferrer" style="display:flex;justify-content:space-between;overflow:hidden;box-sizing:border-box;width:620px;max-width:100%;height:120px;border:1px solid #e2e2e2;border-radius:4px;background-color:#fff;text-decoration:none" target="_blank"><span class="ogpCard_content" style="display:flex;flex-direction:column;overflow:hidden;width:100%;padding:16px"><span class="ogpCard_title" style="-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:2;max-height:48px;line-height:1.4;font-size:16px;color:#333;text-align:left;font-weight:bold;overflow:hidden">プログラミング練習問題「九九表の出力」</span><span class="ogpCard_description" style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.6;margin-top:4px;color:#757575;text-align:left;font-size:12px">問題を解いてスキルアップ！みんなも一緒に解いてみよう！</span><span class="ogpCard_url" style="display:flex;align-items:center;margin-top:auto"><span class="ogpCard_iconWrap" style="position:relative;width:20px;height:20px;flex-shrink:0"><img alt="リンク" class="ogpCard_icon" height="20" loading="lazy" src="https://c.stat100.ameba.jp/ameblo/symbols/v3.20.0/svg/gray/editor_link.svg" style="position:absolute;top:0;bottom:0;right:0;left:0;height:100%;max-height:100%" width="20"></span><span class="ogpCard_urlText" style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#757575;font-size:12px;text-align:left">paiza.jp</span></span></span><span class="ogpCard_imageWrap" style="position:relative;width:120px;height:120px;flex-shrink:0"><img alt="" class="ogpCard_image" data-ogp-card-image="" height="120" loading="lazy" src="https://paiza.jp/assets/work/mondai/ogp-3b2d58d488180b42131a62f6aae0d865d50498311eee4e4173d9354d94b4a835.png" style="position:absolute;top:50%;left:50%;object-fit:cover;min-height:100%;min-width:100%;transform:translate(-50%,-50%)" width="120"></span></a></article></div><p>&nbsp;</p><p>始めにforで$iを9まで回す。</p><p>その中で$jを9まで回し$i*$jをする。</p><p>$jのforの中でifを使い、$jが9になるまで半角スペースを付けて表示させる。</p><p>それ以外は改行させて表示させる。</p><p>&nbsp;</p><p>&nbsp;</p>
]]>
</description>
<link>https://ameblo.jp/syakachiku/entry-12907674998.html</link>
<pubDate>Sun, 01 Jun 2025 22:21:32 +0900</pubDate>
</item>
</channel>
</rss>
