HOME»基本情報技術者試験掲示板»平成27年秋期午後問8
投稿する
ループの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, ...]になっています。
平成27年秋期午後問8 [4250]
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 内の文字の位置と対応しているのでしょうか。
設問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)
★FE シルバーマイスター
>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