Файловые права
Адаптировано из UIL - Computer Science Programming бесплатный ответ на вопрос «Карла» для 2018 округа.
Введение
В UNIX-подобных операционных системах каждый файл, каталог или ссылка «принадлежат» «пользователю», который является членом «группы» и имеет определенные «разрешения», представленные десятисимвольной строкой, такой как « drwxrwxrwx». Первый символ - это «d», «-» или «l» (каталог, файл или ссылка), за которым следуют три набора значений «rwx», указывающих разрешения «чтение, запись, выполнение». Первый набор - это права пользователя, средний - права группы, а третий - права всех остальных на этот объект.
Разрешение, в котором отказано для любого из этих прав, обозначается символом «-» вместо «r», «w» или «x». Например, примерная строка разрешений для каталога будет «drwxr - r--», указывая полные права на каталог для пользователя, но права «только для чтения» для члена группы и всех остальных.
Каждая комбинация "rwx" также может быть представлена восьмеричным значением (0-7), где старший значащий бит представляет разрешение на чтение, следующий старший значащий бит представляет разрешение на запись и младший значащий бит представляет разрешение на выполнение.
Вызов
При наличии четырехсимвольной кодовой строки, состоящей из символа: 'D', 'F' или 'L', за которым следует трехзначное восьмеричное целочисленное значение, например 664, выведите итоговую строку из 10 символов, которая представляет значение разрешения указано.
вход
Ваша программа или функция может либо читать входные данные из стандартного ввода (будут введены четыре символа, необязательно сопровождаемые символом новой строки), либо передавать входные данные в качестве аргумента.
Ваша программа может принимать прописные или строчные буквы, но они должны быть согласованными (либо все входы прописными, либо все строчные).
Выход
Ваша программа должна распечатать получившуюся десятисимвольную строку, которая представляет значение разрешения, указанное в точном формате, указанном выше. Хвостовой пробел разрешен.
Тестовые случаи
Вход: F664
Выход: -rw-rw-r--
Вход: D775
Выход: drwxrwxr-x
Вход: L334
Выход: l-wx-wxr--
Вход: F530
Выход: -r-x-wx---
Вход: D127
Выход:d--x-w-rwx
Подсчет очков и правила
- Стандартные лазейки запрещены.
- Стандартные правила применяются.
- Пожалуйста, предоставьте ссылку для проверки вашего кода, а также объяснение.
- Это код-гольф , поэтому выигрывает самый короткий ответ в байтах!