Izin File
Diadaptasi dari UIL - Pemrograman Ilmu Komputer, pertanyaan respons bebas "Carla" untuk Distrik 2018.
pengantar
Dalam sistem operasi mirip UNIX, setiap file, direktori, atau tautan "dimiliki" oleh "pengguna", yang merupakan anggota "grup", dan memiliki "izin" tertentu yang diwakili oleh string sepuluh karakter seperti " drwxrwxrwx ". Karakter pertama adalah 'd', '-', atau 'l' (direktori, file, atau tautan), diikuti oleh tiga set nilai "rwx", yang menunjukkan izin "baca, tulis, jalankan". Set pertama adalah hak pengguna, set tengah hak grup, dan hak semua orang ketiga untuk objek itu.
Izin yang ditolak untuk hak-hak ini diwakili oleh '-' menggantikan 'r', 'w', atau 'x'. Misalnya, string izin direktori sampel adalah "drwxr - r--", yang menunjukkan hak direktori lengkap untuk pengguna, tetapi hak "hanya baca" untuk anggota grup dan semua yang lain.
Setiap kombinasi "rwx" juga dapat diwakili oleh nilai oktal (0-7) dengan bit paling signifikan yang mewakili izin baca, bit paling signifikan berikutnya yang mewakili izin menulis, dan bit paling signifikan yang mewakili izin eksekusi.
Tantangan
Diberikan string kode empat karakter yang terdiri dari karakter: 'D', 'F', atau 'L', diikuti oleh nilai integer oktal tiga digit, seperti 664, menghasilkan string karakter 10 yang dihasilkan yang mewakili nilai izin ditunjukkan.
Memasukkan
Program atau fungsi Anda dapat membaca input dari standar dalam (empat karakter akan dimasukkan, opsional diikuti oleh baris baru) atau diteruskan input sebagai argumen.
Program Anda dapat menerima input huruf besar atau kecil tetapi harus konsisten (semua input huruf besar atau semua input huruf kecil).
Keluaran
Program Anda harus mencetak string sepuluh karakter yang dihasilkan yang mewakili nilai izin yang ditunjukkan dalam format persis yang ditentukan di atas. Ruang putih berlayar diperbolehkan.
Uji Kasus
Masuk: F664
Keluar: -rw-rw-r--
Masuk: D775
Keluar: drwxrwxr-x
Masuk: L334
Keluar: l-wx-wxr--
Masuk: F530
Keluar: -r-x-wx---
Masuk: D127
Keluar:d--x-w-rwx
Penilaian dan Aturan
- Lubang loop standar dilarang.
- Aturan standar berlaku.
- Harap berikan tautan untuk menguji kode Anda serta penjelasannya.
- Ini kode-golf , jadi jawaban tersingkat dalam byte menang!