FE Study
FE Study メニュー

学習記録はこのブラウザー内に保存されます。

ホーム問題を解く
ログイン不要・無料で学習

ONE QUESTION, ONE STEP

連続区間を学ぼう

選んで、確かめて、理解する。焦らず進めましょう。

QUESTION 55

次の処理は、同じ文字が連続するまとまりの個数をcountで数える。終了後のcountはいくつか。配列の要素番号は1から始まり、forの両端を含む。配列は空ではない。 文字型の配列: a ← {"A", "A", "B", "B", "B", "A", "C", "C"} 整数型: count ← 1 整数型: i for (i を 2 から 8 まで 1 ずつ増やす) if (a[i] ≠ a[i - 1]) count ← count + 1 endif endfor

出典:本サイト オリジナル教材(2026年)

本サイトで独自に作成。IPAの試験問題からの転載ではありません。

公開日:

解答を一つ選んでください

選択肢を選んで、答え合わせをしましょう。

回答せずに正解・解説を確認する

正解:イ 4

この表示だけでは、回答数や正答率は変わりません。

解説

先頭のまとまりをcount=1として数えています。前の文字と違うのはi=3のB、i=6のA、i=7のCの3か所なので、1+3=4です。まとまりはAA、BBB、A、CCの四つになります。離れた場所のAは別のまとまりです。

ア

A、B、Cという文字の種類数は3ですが、連続したまとまりの数とは異なります。

イ

初めのまとまり1個に、文字が切り替わる3か所を加えた数です。

ウ

同じ文字が続く場所ではcountを増やさないため、5にはなりません。

エ

8は配列の要素数です。すべての要素でcountを増やすわけではありません。

関連知識

ランレングス圧縮では、同じ値の連続区間を値と長さで表します。この処理は長さの出力まではせず、区間の個数だけを数えています。

間違えやすいポイント

countを0から始めると、先頭のまとまりを数え落とします。ただし空配列も扱うなら、この初期化をそのまま使えません。

覚え方

最初に1、変わるたびに1。

実務での意味

連続した同じ状態のログやセンサー値から、状態が何回切り替わったかを調べる処理に応用できます。

解説:本サイト編集部によるオリジナル文章

この問題の前後に、プログラミングの基礎知識ガイドで、 仕組み・比較・解き方を確認できます。 この問題の誤りを報告する(GitHub)。問題IDとURLを入力した下書きが開きます。自動投稿は行いません。 投稿は公開されるため、氏名・住所・メールアドレス・学習記録は記入しないでください。 詳しくはお問い合わせ窓口をご覧ください。