各条件の意味がわからないのでしょうか?それとも、そのような条件を指定した出題者の意図がわからないのでしょうか?例えば、
・選択ソートで行う
ということについては、
- 【条件の意味】ソートアルゴリズムの一つである選択ソートを使ったコードにせよという意味です。小さい値を順番に探していき、最初の方から順番に交換していくだけというアルゴリズムが選択ソートです。詳しくはソートについて解説しているサイトや書籍を参考にしてください。
- 【出題者の意図】選択ソートは非常に遅く実用性は皆無ですが、アルゴリズムが単純であるため、他のソートアルゴリズムと比べて実装することは容易です。アルゴリズム実装の中でも初心者向けと言えます。自分でアルゴリズムを実装することで、指定されたアルゴリズムに従ってコードを作成するという技術力を養うことが出題者の意図だと思われます。また、クィックソートなどのより複雑で高速なソートアルゴリズムを後から学ぶことで、その実装上の違いによってどれだけの差異が出るのか、アルゴリズムの選択の大切さを学ばさせることも考えていると思われます。
と回答内容が全く異なりますが、後者がわからなくても前者がわかっていればコードは書けるはずです。
もし、後者、出題者の意図がわからないから解かない、つまり、主題者の意図がわからない問題は解かないという信念を持っているのであれば、今後の学習が大変厳しいです。なぜなら、出題者は言語やソートに関する多くの知識や経験に基づいて最適だと思われる問題を考えているため、なぜそれが最適であるかと理解するには、出題者と同じレベルの知識や経験が必要になるからです。ソートの話であっても、数あるソートの中から選択ソートを選んだ理由を理解するには、主要なソートを全て理解し、それらの性質、実装の難易度等を知っている事はもちろんのこと、そこから導きだされる今後のソートに関する学習計画がわかっていないと難しいでしょう。なるべく簡易な説明をしようとしても、実際に実装したことがなければ、本当の理解はできないと思います。そう、あらゆる問題というのは出題者が自分で回答したことがあるものであり、その回答したときの経験に基づいて問題を出すべきか、修正等が必要で無いかを判断しています。
つまり、「問題にある出題者の意図」を理解できるのは、少なくとも「実際に問題を解いた人」でないと難しいと言うことです。ですが、「問題にある出題者の意図」を理解できないうちは問題が解かないというのであれば、その人は永遠に「実際に問題を解いた人」にはなれません。卵が先か鶏が先かと同じで、互いに依存し合っているため、先に進めないからです。
まずは、出題者の意図、つまり、なぜそのような条件になっているのか、そういうことは一切考えずに言われた条件通り問題を解いてください。ほとんどの場合、解いた時点で出題者の意図も見えてきます。解いたけど、やっぱり出題者の意図がわからないという事があれば、より具体性を持って疑問点を示すようにしてください。