【FE】カレントディレクトリの移動を丁寧に読む

広告

この問題の正解は  です。

ポイントは、ディレクトリ名の A や B が何度も出てくるため、名前だけで判断しないことです。
必ず、

「今どこにいるのか」

を1手ずつ更新しながら考えます。

この問題で問われていること

目標は、カレントディレクトリを次の場所にすることです。

¥B¥A¥B

これは、

ルート
 └ B
    └ A
       └ B

という意味です。

つまり、ルート直下のBに入り、その中のAに入り、その中のBにいる状態です。

記号の意味を確認する

この問題では、次の記号が大事です。

¥      ルートから始める
.      今いるディレクトリ
..     1階層上のディレクトリ

たとえば、今いる場所が ¥A だとします。

..¥B

は、

1階層上へ戻る
↓
そこからBへ入る

という意味です。

¥A の1階層上はルートなので、結果はこうなります。

¥A
↓ ..¥B
¥B

ここがこの問題の一番大事なところです。

ディレクトリ構造を整理する

問題の図は、ざっくり書くと次のような構造です。

ルート
├─ A
│  ├─ A
│  │  ├─ A
│  │  └─ B
│  └─ B
│     ├─ A
│     └─ B
└─ B
   ├─ A
   │  ├─ A
   │  └─ B  ← 目標:¥B¥A¥B
   └─ B
      ├─ A
      └─ B

同じ名前の A や B がたくさんあります。

しかし、次の2つは別物です。

¥A¥B
¥B¥A¥B

どちらにも B が出てきますが、場所が違います。
ディレクトリ問題では、名前だけでなく、ルートからの道順で区別することが大切です。

選択肢アを確認する

選択肢アは、次の移動です。

¥A → ..¥B → .¥A¥B

1つずつ確認します。

最初の移動です。

¥A

先頭が ¥ なので、ルートから見ます。

現在地:¥A

次に、

..¥B

これは、今いる ¥A から1階層上へ戻り、その後 B に入る、という意味です。

現在地:¥A
↓
1階層上へ戻る
↓
ルート
↓
Bへ入る
↓
現在地:¥B

最後に、

.¥A¥B

. は今いる場所です。
今いる場所は ¥B なので、そこから A に入り、さらに B に入ります。

現在地:¥B
↓
Aへ入る
↓
¥B¥A
↓
Bへ入る
↓
¥B¥A¥B

目標の場所になりました。

したがって、アが正解です。

アの流れをまとめる

¥A
↓
現在地:¥A

..¥B
↓
現在地:¥B

.¥A¥B
↓
現在地:¥B¥A¥B

最終的に、

¥B¥A¥B

になります。

他の選択肢が違う理由

¥B → .¥B¥A → ..¥B

順番に追うと、

¥B
↓
¥B¥B¥A
↓
¥B¥B¥B

になります。

目標は、

¥B¥A¥B

なので違います。

¥B → ¥A → ¥B

すべて先頭に ¥ が付いています。

つまり、毎回ルートから指定し直しています。

¥B
↓
¥A
↓
¥B

最終的には ¥B です。
¥B¥A¥B ではありません。

¥B¥A → ..¥B

最初に、

¥B¥A

へ移動します。

次に、

..¥B

なので、1階層上に戻ってから B に入ります。

¥B¥A
↓
1階層上へ戻る
↓
¥B
↓
Bへ入る
↓
¥B¥B

結果は、

¥B¥B

です。

目標の ¥B¥A¥B ではありません。

この問題の解き方のコツ

この手の問題は、頭の中だけで解こうとすると混乱します。

おすすめは、次のように 現在地を毎回書く ことです。

移動指定:¥A
現在地:¥A

移動指定:..¥B
現在地:¥B

移動指定:.¥A¥B
現在地:¥B¥A¥B

特に大事なのは、次の3つです。

¥  から始まる → ルートからやり直す
.  から始まる → 今いる場所から進む
.. から始まる → 1つ上に戻ってから進む

受験者が間違えやすいポイント

一番多い間違いは、..¥B を見たときに、なんとなく「Bへ行く」とだけ考えてしまうことです。

正しくは、

1つ上へ戻る
↓
そこからBへ入る

です。

つまり、..¥B は単なる ¥B ではありません。
今どこにいるかによって結果が変わる指定です。

まとめ

問題は、ディレクトリの知識そのものよりも、現在地を1手ずつ更新できるかを問う問題です。

正解は、

です。

理由は、移動後の現在地が次のように変化するからです。

¥A
↓
¥B
↓
¥B¥A¥B

最終的に、問題で求められている

¥B¥A¥B

になるため、選択肢アが正解です。

訪問数 2 回, 今日の訪問数 2回

広告