このページについて
このページは、paiza ラーニング内に開設されているコンテンツ「レベルアップ問題集」で取り扱われているプログラミング課題について、独自の見解を述べたものです。
見解については、paizaラーニングの規約に基づき、許可されている範囲でのみ公開していますが、その内容については paiza とは一切関係なく、また paiza の立場を反映したものではありませんのでご注意ください。
挑戦する課題
レベルアップ問題集のデータセット選択メニューから「複数回のランダムアクセス (paizaランク D 相当)」を取り上げます。
以下は、問題公開 Web ページからの引用です。
問題
要素数 Nの数列 Aと要素数 Q の数列 B が与えられます。 1 ≦ i ≦ Q の各 iについて、 i行目には以下の数値を出力してください
- A の B_i 番目の値を出力してください。
入力される値
1 2 3 4 |
N A1 A1 ... A_N Q B1 B2 ... B_Q |
- 入力値最終行の末尾に改行が1つ入ります。
- 文字列は標準入力から渡されます。
入力される値
1 2 3 4 |
N A1 A1 ... A_N Q B1 B2 ... B_Q |
- 入力値最終行の末尾に改行が1つ入ります。
- 文字列は標準入力から渡されます。
入力例1
1 2 3 4 |
5 10 20 30 40 50 3 2 4 1 |
出力例1
1 2 3 |
20 40 10 |
考え方
執筆中
出力例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// 行末まで一気に読み込む let ia = Array(AnyIterator { readLine() }) .map { $0.split(separator: " ") .map { Int($0)! } } // データは // [[5], [10, 20, 30, 40, 50], [3], [2, 4, 1]] // という形式で入っている // ia[3] が出力したい要素番号 for index in ia[3] { print(ia[1][index - 1]) } |