このページについて
このページは、paiza ラーニング内に開設されているコンテンツ「レベルアップ問題集」で取り扱われているプログラミング課題について、独自の見解を述べたものです。
見解については、paizaラーニングの規約に基づき、許可されている範囲でのみ公開していますが、その内容については paiza とは一切関係なく、また paiza の立場を反映したものではありませんのでご注意ください。
挑戦する課題
レベルアップ問題集の配列活用メニューから「【配列への副作用を伴う操作】条件を満たす要素のみの配列作成 (paizaランク D 相当)」を取り上げます。
以下は、問題公開 Web ページからの引用です。
問題
配列 A の要素数 N と整数 K , 配列 A の各要素 A_1 … A_N が与えられるので、K 以上であるような配列 A の要素のみを要素として持つ配列 B を作成し、その要素を出力してください。 B の要素の順は A と同じにしてください。
入力される値
1 2 3 4 |
N K A_1 ... A_N |
- 1 行目では、配列 A の要素数 N と整数 K が与えられます。
- 続く N 行では、配列 A の要素が先頭から順に与えられます。
期待する出力
1 2 |
B_1 ... |
- K 以上であるような配列 A の要素のみを要素として持つ配列 B を作成し、その要素を出力してください。
考え方
執筆中
解答例
1 2 3 4 5 6 7 8 9 10 11 12 |
// 行頭を読み込み、K の値だけ代入する let ia = readLine()!.split(separator: " ").map { Int($0)! } let k = ia[1] // 1. 行末まで全て読み込み // 2. Int に変換し // 3. K より大きい数だけフィルタリングし // 4. 改行して出力する Array(AnyIterator { readLine() }) .map { Int($0)! } .filter { $0 >= k } .forEach { print($0) } |