ヒューマン・リソース・マシーン 攻略 入社7年目 ゼロを取り除け
課題
「0じゃない」データをすべて右側に運んでください。
使用可能な命令
- inbox
- outbox
- copyfrom
- copyto
- add
- jump
- jump_if_zero
初出命令
- jump_if_zero
手元のデータが0の時だけジャンプする。パネルを手に持っていない状態で実施すると?
上司に怒られてお仕事中断(終了)。
効率目標
- サイズ:4行
- スピード:23ステップ
ヒント
その1
0じゃないデータを運ぶ。逆に考えると?
回答例 + 解説
サイズ + スピード
回答例 + 解説
ラベル1:// 1セットの開始位置 1. inbox 2. jump_if_zero:ラベル1へ 3. outbox 4. jump:ラベル1へ
今回はちょっと逆転の発想が必要。 左のパネルをとって(inbox)、0だったら運ばないで次へ(jump_if_zero) そうじゃないなら(=0じゃなかったら)右側に運ぶ(outbox) これを1セットとして、ひたすらに繰り返す(jump)