ここで「カードを持てるのは片手までです」とか「一度に注視できるカードは一枚までです」とか、そういう前提条件の提示は、ソートアルゴリズムを設計するうえで解答を記述することにはなりませんよね
たとえばトランプを並べ替えるソートを設計するとして、両手での swap を使って選択ソートを表現できた人がいたとして、「でも両手は使えないよ?」と後から言われるとイラッとするわけで、であれば最初から「カードを持てるのは片手までです」と提示してほしい、というレベルの話です
難しい><; オレンジ的に実際に教えた時の経験上は、プログラミングできない人に1対1で教える時にはその部分逆に取っ払わないと混乱してしまうので「とりあえず忘れて><」ってしてる
ので、このあたり書いた><
https://mstdn.nere9.help/@orange_in_space/99963380141236688
https://mstdn.nere9.help/@orange_in_space/99963442550949101
「自分で気付く余地がある」というのは大事だと思っていて、それがないと「自分で気付けたかもしれないことも、インストラクターから全て指摘されるまで確定できない」という他人に制御されている感が強烈になる
もっと小さな問題で考えるなら、「加算できる機械があります」という前提条件と「こうすると加算ができます」という知識はそのまま交換可能ではないわけで、設計を試してもらううえで、後者を考え出す必要がないのであれば、前者の条件を事前に与えるべきなのでは、ということです