<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>配列活用メニュー - IQパズルステップ</title>
	<atom:link href="https://chokomon.com/tag/array_utilization/feed/" rel="self" type="application/rss+xml" />
	<link>https://chokomon.com</link>
	<description>ちょこっと頭を良くするIQパズル問題集</description>
	<lastBuildDate>Tue, 21 Jun 2022 12:16:27 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://chokomon.com/wp-content/uploads/2022/02/cropped-icon512-32x32.png</url>
	<title>配列活用メニュー - IQパズルステップ</title>
	<link>https://chokomon.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【配列活用メニュー】【配列に対しての複雑な処理】集団行動 (paizaランク C)-解答例-PHP編</title>
		<link>https://chokomon.com/12-array_utilization-03-07-00290/</link>
					<comments>https://chokomon.com/12-array_utilization-03-07-00290/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Sat, 04 Jun 2022 12:30:03 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[配列活用メニュー]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクC]]></category>
		<category><![CDATA[難易度-1700]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=3770</guid>

					<description><![CDATA[【配列活用メニュー】> FINAL問題【配列に対しての複雑な処理】集団行動 (paizaランク C 相当) [難易度: 1759 ±17] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/12-array_utilization/">配列活用メニュー</a>】> <a href="https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__group_move" target="_blank" rel="noreferrer noopener">FINAL問題【配列に対しての複雑な処理】集団行動 (paizaランク C 相当)</a> [難易度: <strong>1759 ±17</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img fetchpriority="high" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/06/12-03-07-01.png" alt="" class="wp-image-3771"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>あなたは集団行動のリーダーです。次のような指示を出すことで様々な列の操作ができます。</p>



<p><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-light-orange-color">・<code>swap A B</code></mark><br>先頭から A 番目の人と、先頭から B 番目の人の位置を入れ替える。<br><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-light-orange-color">・<code>reverse</code></mark><br>列の前後を入れ替える。<br><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-light-orange-color">・<code>resize C</code></mark><br>先頭から C 人を列に残し、それ以外の人を全員列から離れさせる。ただし、列が既に C 人以下の場合、何も行わない。</p>



<p>初め、列には番号 1 〜 N の N 人がおり、先頭から番号の昇順に並んでいます。(1, 2 , 3, ..., N)<br>あなたの出した指示の回数 Q とその指示の内容 S_i (1 ≦ i ≦ Q) が順に与えられるので、全ての操作を順に行った後の列を出力してください。</p>



<p></p>



<p><strong>入力値（例）</strong><br>10 2<br>reverse<br>resize 7</p>



<p><strong>出力値（例）</strong><br>10<br>9<br>8<br>7<br>6<br>5<br>4</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($n, $q) = explode(" ", trim(fgets(STDIN)));
    
    for($i =1; $i &lt;= $n; $i++) {
        $array[] = $i;
    }
    //print_r($array);
    $num = $array;
    
    for($i = 0; $i &lt; $q; $i++) {
        $order = trim(fgets(STDIN));
        
        if(strpos($order, "resize") !== FALSE) {
            list($resize, $c) = explode(" ", $order);
            $num = array_slice($num, 0, $c);
            
        } elseif(strpos($order, "swap") !== FALSE) {
            list($swap, $a, $b) = explode(" ", $order);
            $num2 = $num;
            $num2[$a - 1] = $num[$b - 1];
            $num2[$b - 1] = $num[$a - 1];
            $num = $num2;
            
        } elseif(strpos($order, "reverse") !== FALSE) {
            $num = array_reverse($num);
        }
    }
    //print_r($num);
    foreach($num as $value) {
        echo $value. "\n";
    }
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="660" height="320" src="https://chokomon.com/wp-content/uploads/2022/06/12-03-07-02.png" alt="" class="wp-image-3772"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/12-array_utilization-03-07-00290/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【配列活用メニュー】ボウリング (paizaランク C)-解答例-PHP編</title>
		<link>https://chokomon.com/12-array_utilization-03-06-00286/</link>
					<comments>https://chokomon.com/12-array_utilization-03-06-00286/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Fri, 03 Jun 2022 13:36:07 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[配列活用メニュー]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクC]]></category>
		<category><![CDATA[難易度-1600]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=3748</guid>

					<description><![CDATA[【配列活用メニュー】> 【配列に対しての複雑な処理】STEP: 6 ボウリング (paizaランク C 相当) [難易度: 1627 ±17] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例 解説 分かりにくいの…]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/12-array_utilization/">配列活用メニュー</a>】> <a href="https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__bowling" target="_blank" rel="noreferrer noopener">【配列に対しての複雑な処理】STEP: 6 ボウリング (paizaランク C 相当)</a> [難易度: <strong>1627 ±17</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/06/12-03-06-01.png" alt="" class="wp-image-3749"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>あなたはボウリングをしています。フレームの 1 投目を投げ終わったあなたは、次に狙うピンの番号と残っているピンの本数を知りたくなりました。ピンの情報が与えられるので、狙うべきピンの番号と残っているピンの本数を求めてください。</p>



<p>狙うピンの決め方は次の通りとします。<br>- 残っているピンのうち、先頭 (P_1側) のピンを狙います。ただし、同じ列に複数ピンがある場合は、それらのうちピン番号が最も小さいピンを狙います。</p>



<p></p>



<p><strong>入力値（例）</strong><br>1 1 1 1<br>1 1 1<br>1 1<br>1</p>



<p><strong>出力値（例）</strong><br>1<br>10</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    $pin = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1];
    
    $k = 0;
    $flag = 0;
    
    for($i = 0; $i &lt; 4; $i++) {
        $input = explode(" ", trim(fgets(STDIN)));
        
        for($j = 0; $j &lt; count($input); $j++) {
            $key = $pin[$k];
            $value = $input[$j];
            $array_pin[$key] = $value;
            $k++;
        }
    }
    
    foreach($array_pin as $key =&gt; $value) {
        if($value == 1) {
            $flag++;
            $pin_key[] = $key;
        }
    }
    
    echo min($pin_key). "\n";
    echo $flag. "\n";
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="200" src="https://chokomon.com/wp-content/uploads/2022/06/12-03-06-02.png" alt="" class="wp-image-3750"/></figure>



<h2 class="wp-block-heading">解説</h2>



<p>分かりにくいのですが、入力値が4行あって、1行目の1番目が10で続いて9,8,7...というピンの並びになっています。それなので、配列に$pin = [10, 9, 8, 7,......2,1];と入れて受け取りで値が連想配列になるように工夫しました。「10 =&gt; 1」</p>



<p>もう少しスマートなやり方があるんじゃないかとまだもんもんとしています。(*'ω'*)ｗ</p>



<p>キレイな方法がありましたらぜひ教えてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/12-array_utilization-03-06-00286/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【配列活用メニュー】場所取り (paizaランク C)-解答例-PHP編</title>
		<link>https://chokomon.com/12-array_utilization-03-05-00171/</link>
					<comments>https://chokomon.com/12-array_utilization-03-05-00171/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Tue, 26 Apr 2022 13:04:01 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[配列活用メニュー]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクC]]></category>
		<category><![CDATA[難易度-1400]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=2834</guid>

					<description><![CDATA[【配列活用メニュー】> 【配列に対しての複雑な処理】STEP: 5 場所取り (paizaランク C 相当) [難易度: 1418 ±18] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例 解説 ブルーシートの番…]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/12-array_utilization/">配列活用メニュー</a>】> <a href="https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__line_up" target="_blank" rel="noreferrer noopener">【配列に対しての複雑な処理】STEP: 5 場所取り (paizaランク C 相当)</a> [難易度: <strong>1418 ±18</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/04/12-03-05-01.png" alt="" class="wp-image-2835"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>開店直後に店に入るために、番号 1 〜 N の N 人が開店前に店の前にブルーシートを合計 K 枚置きました。ブルーシートの先頭は A_1 , 最後尾は A_K です。しかし、店側は先頭から F 枚のブルーシートを撤去しました。</p>



<p>1 〜 N 番の人々は次のルールに従って店に並びます。<br>・自分のブルーシートが 1 枚以上残っているとき、自分のブルーシートのうち、最も先頭に近いブルーシートの位置に並ぶ。<br>・自分のブルーシートが 1 枚も残っていないとき、並ぶことなく帰宅する。</p>



<p>全員が並び終わった後に待機列にいる人の番号を先頭から順に答えてください。</p>



<p>例<br>・N = 3, K = 6, F = 3, A = [3, 2, 1, 2, 3, 2] のとき<br>撤去が行われる前と行われた後のブルーシートの様子は次の通りになります。</p>



<table border="1" style="border-collapse: collapse; width: 100%; height: 104px;">
<tbody>
<tr style="height: 52px;">
<td style="width: 14.2857%; height: 52px;">店側</td>
<td style="width: 14.2857%; height: 52px;">3</td>
<td style="width: 14.2857%; height: 52px;">2</td>
<td style="width: 14.2857%; height: 52px;">1</td>
<td style="width: 14.2857%; height: 52px;">2</td>
<td style="width: 14.2857%; height: 52px;">3</td>
<td style="width: 14.2857%; height: 52px;">2</td>
</tr>
<tr style="height: 52px;">
<td style="width: 14.2857%; height: 52px;">店側</td>
<td style="width: 14.2857%; height: 52px;"></td>
<td style="width: 14.2857%; height: 52px;"></td>
<td style="width: 14.2857%; height: 52px;"></td>
<td style="width: 14.2857%; height: 52px;">2</td>
<td style="width: 14.2857%; height: 52px;">3</td>
<td style="width: 14.2857%; height: 52px;">2</td>
</tr>
</tbody>
</table>



<p>番号 1 の人のブルーシートは 1 枚も残っていないので並ぶことなく帰宅します。<br>番号 2 の人のブルーシートは 2 枚残っているので、最も先頭に近いブルーシートの位置に並びます。<br>番号 3 の人のブルーシートは 1 枚残っているので、そのブルーシートの位置に並びます。</p>



<p>最終的な待機列は次の通りになるので、期待する出力は</p>



<p>2<br>3<br>となります。</p>



<p></p>



<p><strong>入力値（例）</strong><br>5 10 1<br>1<br>4<br>4<br>3<br>5<br>4<br>2<br>4<br>1<br>1</p>



<p><strong>出力値（例）</strong><br>4<br>3<br>5<br>2<br>1</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($n, $k, $f) = explode(" ", trim(fgets(STDIN)));
    for($i = 0; $i &lt; $k; $i++) {
        $array[] = trim(fgets(STDIN));
    }
    $arr_f = array_slice($array, $f);
    //print_r($arr_f);
    $arr_unique = array_unique($arr_f);
    //print_r($arr_unique);
    foreach($arr_unique as $value) {
        echo $value. "\n";
    }
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="280" src="https://chokomon.com/wp-content/uploads/2022/04/12-03-05-02.png" alt="" class="wp-image-2837"/></figure>



<h2 class="wp-block-heading">解説</h2>



<p>ブルーシートの番号を配列で受け取ります。</p>



<p>配列から先頭のn個を取り除く残りを配列で取得するarray_slice()を使って、$f個を取り除きます。</p>



<p>配列の重複を取り除くarray_unique()で重複を取り除きます。</p>



<p>foreach()で値を一つずつ取り出して出力します。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/12-array_utilization-03-05-00171/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【配列活用メニュー】二人三脚 (paizaランク C)-解答例-PHP編</title>
		<link>https://chokomon.com/12-array_utilization-03-04-00128/</link>
					<comments>https://chokomon.com/12-array_utilization-03-04-00128/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Wed, 30 Mar 2022 12:49:11 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[配列活用メニュー]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクC]]></category>
		<category><![CDATA[難易度-1500]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=1730</guid>

					<description><![CDATA[【配列活用メニュー】> 【配列に対しての複雑な処理】STEP: 4 二人三脚 (paizaランク C 相当) [難易度: 1549 ±17] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例 解説 1)１行目の$n…]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/12-array_utilization/">配列活用メニュー</a>】> <a href="https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__find_pair" target="_blank" rel="noreferrer noopener">【配列に対しての複雑な処理】STEP: 4 二人三脚 (paizaランク C 相当)</a> [難易度: <strong>1549 ±17</strong>]



<p>※リンク先へ移動するためには[<a rel="noreferrer noopener" href="https://paiza.jp/works" target="_blank">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/03/12-03-04-01.png" alt="12-03-04-01" class="wp-image-1731"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>生徒の身長が A_1, ...., A_N であるような N 人のクラスで二人三脚の代表を決めることにしました。代表には、身長の差が最も小さいような 2 人を選出することにしました。選ばれた 2 人の身長を昇順に出力してください。</p>



<p></p>



<p><strong>入力値（例）</strong><br>5<br>119<br>102<br>187<br>191<br>132</p>



<p><strong>出力値（例）</strong><br>187<br>191</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    $n = trim(fgets(STDIN));
    
    $a = [];
    $ans = [];
    $diff = 0;
    
    for($i = 0; $i &lt; $n; $i++) {
        $a[$i] = trim(fgets(STDIN));
    }
    $diff = abs($a[0] - $a[1]);
    
    $ans[0] = $a[0];
    $ans[1] = $a[1];
    
    for($i = 0; $i &lt; $n; $i++) {
        for($j = ($i + 1); $j &lt; $n; $j++) {
            if(abs($a[$i] - $a[$j]) &lt; $diff) {
                $diff = abs($a[$i] - $a[$j]);
                
                $ans[0] = $a[$i];
                $ans[1] = $a[$j];
            }
        }
    }
    sort($ans);
    foreach($ans as $value) {
        echo $value. "\n";
    }
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="200" src="https://chokomon.com/wp-content/uploads/2022/03/12-03-04-02.png" alt="12-03-04-02" class="wp-image-1732"/></figure>



<h2 class="wp-block-heading">解説</h2>



<p>1)１行目の$nを取得します。</p>



<p>2)空の配列$aと$ansを用意します。$diffには0（$diff = 0;）を設定します。</p>



<p>3)2行目以降をfor()で$n回分、$a[$i]に取得していきます。</p>



<p>4)$diffに（$a[0] - $a[1]）を絶対値（abs）で入れておきます。<br>　入力値1の場合は、119（$a[0]）と102（$a[1]）なので差分17が入ります。</p>



<p>5)$iループの中に$jループを作り、if()で（$a[$i] - $a[$j]）の差分が$diffより小さければ、$diffを書き換えます。そのときに、配列$ansに$a[$i]と$a[$j]を入れます。</p>



<p>6)$ansをsort()で小さい順に並べます。foreach()で取り出して出力します。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/12-array_utilization-03-04-00128/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【配列活用メニュー】queue (9) 係 (paizaランク C)-解答例-PHP編</title>
		<link>https://chokomon.com/12-array_utilization-03-03-00125/</link>
					<comments>https://chokomon.com/12-array_utilization-03-03-00125/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Tue, 29 Mar 2022 12:47:37 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[配列活用メニュー]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクC]]></category>
		<category><![CDATA[難易度-1300]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=1700</guid>

					<description><![CDATA[【配列活用メニュー】> 【配列に対しての複雑な処理】STEP: 3 queue (9) 係 (paizaランク C 相当) [難易度: 1387 ±18] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例 解説 1…]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/12-array_utilization/">配列活用メニュー</a>】> <a href="https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__queue" target="_blank" rel="noreferrer noopener">【配列に対しての複雑な処理】STEP: 3 queue (9) 係 (paizaランク C 相当)</a> [難易度: <strong>1387 ±18</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/03/12-03-03-01.png" alt="12-03-03-01" class="wp-image-1701"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>データ構造の queue と同様の働きをするロボットがあります。ロボットは指示に応じて配列 A に対して 2 種類の仕事を行います、仕事の内容は以下の通りです。</p>



<p>・<code><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-light-orange-color">in n</mark></code>&nbsp;と指示された場合、A の末尾に n を追加してください。<br>・<code><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-light-orange-color">out</mark></code>&nbsp;と指示された場合、A の先頭の要素を削除してください。ただし、A が既に空の場合、何も行わないでください。</p>



<p>ロボットに与えられる指示の回数 N と、各指示の内容 S_i が与えられるので、ロボットが全ての処理を順に行った後の A の各要素を出力してください。<br>なお、初め配列 A は空であるものとします。</p>



<p></p>



<p><strong>入力値（例）</strong><br>10<br>out<br>in 33<br>out<br>out<br>out<br>out<br>in -76<br>out<br>out<br>in -53</p>



<p><strong>出力値（例）</strong><br>-53</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    $n = trim(fgets(STDIN));
    
    $array = array();
    
    for($i = 0; $i &lt; $n; $i++) {
        $input = trim(fgets(STDIN));
        
        if($input == "out") {
            array_shift($array);

        } else {
            list($head, $tail) = explode(" ", $input);
            array_push($array, $tail);
        }
    }
    //print_r($array);
    
    foreach($array as $value) {
        echo $value. "\n";
    }
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/03/12-03-03-02.png" alt="12-03-03-02" class="wp-image-1702"/></figure>



<h2 class="wp-block-heading">解説</h2>



<p>1)$nで1行目を取得します。</p>



<p>2)空の配列$arrayを用意します。</p>



<p>3)for()で$n回の$inputを取得します。</p>



<p>4)$inputを取得しつつ、if()で（$input == "out"）だったら、配列の先頭の要素を削除する関数array_shift()で配列の要素を削除します。</p>



<p>5)（$input == "out"）以外は、explode()で$inputを分割（$head, $tail）して取得します。</p>



<p>6)配列$arrayに$tailだけ追加します。</p>



<p>7)foreach()で配列の値を一つずつ取得し、出力します。</p>



<h2 class="wp-block-heading">感想</h2>



<p>問題の意味がなかなか理解できなくて、解き方が合っているのか自信がありません。もう少し力がついたらもっとキレイなコードが書けるでしょうか？(*'ω'*)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/12-array_utilization-03-03-00125/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【配列活用メニュー】内定 (paizaランク C)-解答例-PHP編</title>
		<link>https://chokomon.com/12-array_utilization-03-02-00121/</link>
					<comments>https://chokomon.com/12-array_utilization-03-02-00121/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Mon, 28 Mar 2022 10:36:56 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[配列活用メニュー]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクC]]></category>
		<category><![CDATA[難易度-1400]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=1676</guid>

					<description><![CDATA[【配列活用メニュー】> 【配列に対しての複雑な処理】STEP: 2 内定 (paizaランク C 相当) [難易度: 1446 ±16] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/12-array_utilization/">配列活用メニュー</a>】> <a href="https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__offer" target="_blank" rel="noreferrer noopener">【配列に対しての複雑な処理】STEP: 2 内定 (paizaランク C 相当)</a> [難易度: <strong>1446 ±16</strong>]



<p>※リンク先へ移動するためには[<a rel="noreferrer noopener" href="https://paiza.jp/works" target="_blank">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/03/12-03-02-01.png" alt="12-03-02-01" class="wp-image-1678"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>人事のあなたは、N 人の中から採用者を決定します。N 人のテストの点数はそれぞれ A_i (1 ≦ i ≦ N)です。テストの点数が K 点以上の人全員を採用したいのですが、得点の高い方から M 人に辞退されてしまいました。あなたの採用することのできる最大の人数を答えてください。採用できる人数が 0 人の場合もあることに気をつけてください。</p>



<p></p>



<p><strong>入力値（例）</strong><br>5 3974 0<br>2049<br>4690<br>6867<br>3414<br>460</p>



<p><strong>出力値（例）</strong><br>2</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($n, $k, $m) = explode(" ", trim(fgets(STDIN)));
    
    $flag = 0;
    
    for($i = 0; $i &lt; $n; $i++) {
        $score = trim(fgets(STDIN));
        if($score &gt;= $k) {
            $flag += 1;
        }
    }
    
    $adopt = ($flag - $m);
    
    if($adopt &lt; 0) {
        echo 0;
    } else {
        echo $adopt;
    }
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/03/12-03-02-02.png" alt="12-03-02-02" class="wp-image-1679"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/12-array_utilization-03-02-00121/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【配列活用メニュー】傾斜配点 (paizaランク C)-解答例-PHP編</title>
		<link>https://chokomon.com/12-array_utilization-03-01-00114/</link>
					<comments>https://chokomon.com/12-array_utilization-03-01-00114/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Sun, 27 Mar 2022 11:06:04 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[配列活用メニュー]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクC]]></category>
		<category><![CDATA[難易度-1300]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=1627</guid>

					<description><![CDATA[【配列活用メニュー】> 【配列に対しての複雑な処理】STEP: 1 傾斜配点 (paizaランク C 相当) [難易度: 1363 ±16] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/12-array_utilization/">配列活用メニュー</a>】> <a href="https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__exam" target="_blank" rel="noreferrer noopener">【配列に対しての複雑な処理】STEP: 1 傾斜配点 (paizaランク C 相当)</a> [難易度: <strong>1363 ±16</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/03/12-03-01-01.png" alt="12-03-01-01" class="wp-image-1628"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>paiza の入社試験では 科目 1 〜 5 の 5 科目のテストが課せられており、それぞれの科目には重みが設定されています。受験者の得点は各科目の (とった点数) * (科目の重み) となります。 5 科目の得点の合計が最も高かった受験者の得点を求めてください。</p>



<p></p>



<p><strong>入力値（例）</strong><br>5<br>1 2 3 4 5<br>1 2 3 4 5<br>6 7 8 9 0<br>10 11 12 13 14<br>10 10 10 10 10<br>100 2 4 6 48</p>



<p><strong>出力値（例）</strong><br>380</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    $n = trim(fgets(STDIN));
    $weight = explode(" ", trim(fgets(STDIN)));
    
    for($i = 0; $i &lt; $n; $i++) {
        $array = explode(" ", trim(fgets(STDIN)));
        
        $total = 0;
        
        for($j = 0; $j &lt; 5; $j++) {
            $total += $array[$j] * $weight[$j];
        }
        $result[] = $total;
    }
    echo max($result);
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/03/12-03-01-02.png" alt="12-03-01-02" class="wp-image-1629"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/12-array_utilization-03-01-00114/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【配列活用メニュー】【配列の副作用を伴う操作】条件を満たす要素のみの配列作成 (paizaランク D)-解答例-PHP編</title>
		<link>https://chokomon.com/12-array_utilization-02-11-00113/</link>
					<comments>https://chokomon.com/12-array_utilization-02-11-00113/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Sat, 26 Mar 2022 12:39:23 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[配列活用メニュー]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクD]]></category>
		<category><![CDATA[難易度-1200]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=1619</guid>

					<description><![CDATA[【配列活用メニュー】&#62; FINAL問題【配列への副作用を伴う操作】条件を満たす要素のみの配列作成 (paizaランク D 相当)&#160;[難易度:&#160;1270&#160;±18] ※リンク先へ移動するためには[paiza]…]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/12-array_utilization/">配列活用メニュー</a>】&gt; <a href="https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__filter" target="_blank" rel="noreferrer noopener">FINAL問題【配列への副作用を伴う操作】条件を満たす要素のみの配列作成 (paizaランク D 相当)</a>&nbsp;[難易度:&nbsp;<strong>1270&nbsp;±18</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/03/12-02-11-01.png" alt="12-02-11-01" class="wp-image-1620"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>配列 A の要素数 N と整数 K , 配列 A の各要素 A_1 ... A_N が与えられるので、K 以上であるような配列 A の要素のみを要素として持つ配列 B を作成し、その要素を出力してください。 B の要素の順は A と同じにしてください。</p>



<p></p>



<p><strong>入力値（例）</strong><br>2 2<br>1<br>100</p>



<p><strong>出力値（例）</strong><br>100</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($n, $k) = explode(" ", trim(fgets(STDIN)));
    for($i = 0; $i &lt; $n; $i++) {
        $array[] = trim(fgets(STDIN));
    }
    foreach($array as $value) {
        if($value &gt;= $k) {
            echo $value. "\n";
        }
    }
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/03/12-02-11-02.png" alt="12-02-11-02" class="wp-image-1621"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/12-array_utilization-02-11-00113/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【配列活用メニュー】重複要素の削除 (paizaランク D)-解答例-PHP編</title>
		<link>https://chokomon.com/12-array_utilization-02-10-00112/</link>
					<comments>https://chokomon.com/12-array_utilization-02-10-00112/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Sat, 26 Mar 2022 08:20:29 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[配列活用メニュー]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクD]]></category>
		<category><![CDATA[難易度-1500]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=1613</guid>

					<description><![CDATA[【配列活用メニュー】> 【配列への副作用を伴う操作】STEP: 10 重複要素の削除 (paizaランク D 相当) [難易度: 1551 ±17] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例 入力例2]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/12-array_utilization/">配列活用メニュー</a>】> <a href="https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__unique" target="_blank" rel="noreferrer noopener">【配列への副作用を伴う操作】STEP: 10 重複要素の削除 (paizaランク D 相当)</a> [難易度: <strong>1551 ±17</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/03/12-02-10-01.png" alt="12-02-10-01" class="wp-image-1614"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>配列 A の要素数 N と配列 A の各要素 A_1, A_2, ..., A_N が与えられるので、同じ値の要素が 2 つ以上含まれないように A を加工した新たな配列 B を作成してください。<br>ただし、 A に同じ値の要素が 2 つ以上あった場合、それらのうち先頭の要素を B に採用するものとします。</p>



<p></p>



<p><strong>入力値（例）</strong><br>1<br>1</p>



<p><strong>出力値（例）</strong><br>1</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    $n = trim(fgets(STDIN));
    for($i = 0; $i &lt; $n; $i++) {
        $array[] = trim(fgets(STDIN));
    }
    $result = array_unique($array);
    //print_r($result);
    
    foreach($result as $value) {
        echo $value. "\n";
    }
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/03/12-02-10-02.png" alt="12-02-10-02" class="wp-image-1615"/></figure>



<h2 class="wp-block-heading">入力例2</h2>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">入力例2</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p><strong>入力値（例）</strong><br>5<br>1<br>2<br>3<br>5<br>2</p>



<p><strong>出力値（例）</strong><br>1<br>2<br>3<br>5</p>
</div></div>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/12-array_utilization-02-10-00112/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【配列活用メニュー】配列のサイズの変更 (paizaランク D)-解答例-PHP編</title>
		<link>https://chokomon.com/12-array_utilization-02-09-00111/</link>
					<comments>https://chokomon.com/12-array_utilization-02-09-00111/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Sat, 26 Mar 2022 06:57:45 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[配列活用メニュー]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクD]]></category>
		<category><![CDATA[難易度-1400]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=1608</guid>

					<description><![CDATA[【配列活用メニュー】> 【配列への副作用を伴う操作】STEP: 9 配列のサイズの変更 (paizaランク D 相当) [難易度: 1473 ±17] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/12-array_utilization/">配列活用メニュー</a>】> <a href="https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__resize" target="_blank" rel="noreferrer noopener">【配列への副作用を伴う操作】STEP: 9 配列のサイズの変更 (paizaランク D 相当)</a> [難易度: <strong>1473 ±17</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/03/12-02-09-01.png" alt="12-02-09-01" class="wp-image-1609"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>配列 A の要素数 N と新たに作成する配列のサイズ n , 配列 A の各要素 A_1 ... A_N が与えられるので、配列 A の先頭から n 要素を順に保持する配列を作成してください。新たに作成する配列の要素数が A の要素数よりも大きい時は、サイズが合うように 0 を A の要素の末尾に追加してください。</p>



<p></p>



<p><strong>入力値（例）</strong><br>1 19<br>1</p>



<p><strong>出力値（例）</strong><br>1<br>0<br>0<br>0<br>0<br>0<br>0<br>0<br>0<br>0<br>0<br>0<br>0<br>0<br>0<br>0<br>0<br>0<br>0</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($n, $num) = explode(" ", trim(fgets(STDIN)));
    for($i = 0; $i &lt; $n; $i++) {
        $array[] = trim(fgets(STDIN));
    }
    $slice = array_slice($array, 0, $num);
    //print_r($slice);
    if($n &lt; $num) {
        $zero = ($num - $n);
        for($j = 0; $j &lt; $zero; $j++) {
        array_push($slice, 0);
        }
    }
    foreach($slice as $value) {
        echo $value. "\n";
    }
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="600" src="https://chokomon.com/wp-content/uploads/2022/03/12-02-09-02.png" alt="12-02-09-02" class="wp-image-1610"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/12-array_utilization-02-09-00111/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
