HOME»基本情報技術者試験掲示板»平成27年秋期午後問8

基本情報技術者試験掲示板


[4250] 平成27年秋期午後問8

 forestさん(No.1) 
https://www.fe-siken.com/kakomon/27_aki/pm08.html


設問1 b
skip配列の中身ですが普通に skip[3, 2, 1, 0, 4, 4,.....]みたいな感じになりませんか?

skip[index(pat[i])] ← Patlen - i は skip[1(A)] に 3 を代入する処理になると思うのですが。

解説の Patlen - 3 ってどこの処理のことを言っていて、どのようにskipの中身が pat 内の文字の位置と対応しているのでしょうか。
2022.05.13 01:58
nsさん(No.2) 
>skip[index(pat[i])] ← Patlen - i は skip[1(A)] に 3 を代入する処理になると思うのですが。
ループの1周目(i=1)ではその通りです。
i=1 〜 i=PatLen-1のループ(この例では3周)をトレースすれば、説明の通り、[1, 4, 2, 4, ...]となります。

・1周目  i=1
Pat[i]="A"
Index(Pat[i])=1
したがって、Skip[1]に3を代入します
Skip=[3, 4, 4, 4, ...]

・2周目  i=2
Pat[i]="C"
Index(Pat[i])=3
したがって、Skip[3]に2を代入します
Skip=[3, 4, 2, 4, ...]

・3周目  i=3
Pat[i]="A"
Index(Pat[i])=1
したがって、Skip[1]に1を代入します
Skip=[1, 4, 2, 4, ...]

・4周目  i=4
i > PatLen - 1となるため、ループを終えます
この時、Skip=[1, 4, 2, 4, ...]になっています。
2022.05.13 08:56
 forestさん(No.3) 
なるほど、、、ありがとうございます。
確かにループの一週目で判断していたのでそこが誤りでした
2022.05.14 13:46

【返信投稿用フォーム】

お名前(10文字以内)

顔アイコン


本文(2,000文字以内)

投稿削除用のパスワード(20文字以内)

プレビュー
※CBT方式においては出題内容の公開は禁止されているため、出題内容を尋ねたり、出題内容を特定できる類の投稿を禁止します。
※宣伝や迷惑行為を防止するため、当サイトとIPAサイト以外のURLを含む文章の投稿は禁止されています。

投稿記事削除用フォーム

投稿No. パスワード 
© 2010-2022 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop