| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 4 초 | 512 MB | 890 | 236 | 137 | 25.277% |
가희는 jo_test폴더에 들어와 있습니다. jo_test폴더에는 일반 파일이 N개 있습니다.
각각의 파일에는 권한이 있습니다. 권한이란 어떤 유저가 특정한 일을 수행할 수 있는지를 나타내며, 3개의 숫자로 구성됩니다.
[표 1] 숫자와 해당되는 권한
3개의 숫자 중 1번째 숫자는, 파일을 소유하고 있는 유저가 어떤 권한을 가지고 있는지를 나타냅니다. 2번째 숫자는, 파일을 소유하고 있는 그룹이 어떤 권한을 가지고 있는지를 나타냅니다. 3번째 숫자는, 파일을 소유하고 있는 그룹에 속하지 않고, 파일을 소유하고 있는 유저가 아닌 경우 어떤 권한을 가지고 있는지를 나타냅니다.
예를 들어 파일 train_mugunghwa의 권한이 750이고 이 파일을 소유하고 있는 유저가 cho, 소유하고 있는 그룹이 gahui라고 하겠습니다. 그리고, 그룹 gahui에 속한 유저가 cho1, cho2라고 하겠습니다. 이때, 유저 cho는 train_mugunghwa에 대해서 읽기, 실행, 수정 권한이 있습니다. 유저 cho2는 파일 train_mugunghwa를 가지고 있는 그룹에 속하므로 train_mugunghwa에 대해서 읽기와 실행 권한이 있습니다. 마지막으로 유저 gahui는 유저 cho가 아니고, 해당 파일을 소유하고 있는 그룹인 gahui에도 속하지 않으므로 이 파일에 대해서 아무것도 할 수 없습니다.
유저와 그룹, 폴더 jo_test안에 있는 파일에 대한 정보가 주어집니다. 유저가 jo_test안에 있는 파일에 대해서 읽기, 수정, 실행을 시키려고 할 때 성공하는지 실패하는지에 대한 정보를 출력해 주세요.
첫 줄에 유저에 대한 정보 개수 U와 jo_test폴더 안에 있는 파일에 대한 정보 개수 F가 공백으로 구분되어 주어집니다.
다음 U개의 줄에는 유저에 대한 정보가 주어집니다. 유저에 대한 정보는 아래 형식들 중 하나로 주어집니다.
USER_NAME
USER_NAME이 있다. 유저 USER_NAME이 속한 그룹에 대한 정보는 없다.USER_NAME USER_GROUPS
USER_NAME이 속한 그룹에 대한 정보는 USER_GROUPS에 있다.유저가 속한 그룹이 여러 개라면 ',' (콤마)로 구분되어 주어집니다. 또한 USER_NAME은 자동으로 그룹 이름이 USER_NAME인 그룹에 속합니다. 유저가 속한 그룹들에 대한 정보에 USER_NAME이 주어지지 않더라도 그룹 이름이 USER_NAME인 그룹에 속함에 주의하세요.
다음 F개의 줄에는 파일에 대한 정보가 아래 형식으로 주어집니다.
FILE_NAME FILE_PERMISSION OWNER OWNED_GROUP이 정보는 파일 이름이 FILE_NAME인 파일 권한이 FILE_PERMISSION이고, 소유자가 OWNER, 소유 그룹이 OWNED_GROUP임을 의미합니다. 이때, 파일 FILE_NAME에 대해 각 유저들이 가지는 권한 이름은 아래와 같습니다.
OWNER
OWNER
OWNER는 아니지만, OWNER_GROUP에 속한 유저
GROUP
OWNER도 아니고, OWNER_GROUP에 속하지도 않는 유저
OTHER
[표 2] 유저가 이름이 FILE_NAME인 파일에 대해 가지는 권한
그 다음 줄에 질문의 개수 Q가 주어집니다.
다음 Q개의 줄에는 USER_NAME과 FILE_NAME과 OPERATION이 공백으로 구분되어 주어집니다. OPERATION은 문자 'R', 'W', 'X' 중 하나로 주어지며, 각각의 의미는 읽기, 수정, 실행을 의미합니다. 또한 입력의 의미는 유저 USER_NAME이 파일 FILE_NAME에 연산 OPERATION을 수행하려고 하는지 나타냅니다.
Q개의 질문에 대해, 연산이 성공하면 1을 실패하면 0을 출력해 주세요. 각 질문에 대한 답은 한 줄에 하나씩 출력해 주세요.
jo_test에 있는 파일은 대문자, 소문자, 숫자로만 주어지며, 길이는 1이상 10이하입니다.USER_GROUPS에는 많아야 10개의 그룹이 있습니다. 이 그룹들은 이름이 중복되지 않습니다.jo_test에 있는 파일이 주어집니다.OWNER권한을 가진 유저는 GROUP권한을 가진 유저들이 할 수 있는 모든 연산을, GROUP권한을 가진 유저는 OTHER권한을 가진 유저들이 할 수 있는 모든 연산을 할 수 있습니다.jo_test에 있는 파일만 주어지며, 존재하는 유저만 주어집니다.3 2 cho gahui alpa mysql namahage 754 cho alpa dochida 644 cho cho 3 cho namahage X gahui namahage W mysql namahage X
1 0 0
유저 세 명에 대한 권한은 표 2와 같습니다.
[표 3] 유저 cho, gahui, mysql의 권한
2 2 OPPA IS,HATE,HOSPITAL IHATE JYUSAGI DONGMUL 755 OPPA JYUSAGI maruchise 754 OPPA JYUSAGI 2 OPPA DONGMUL X IHATE maruchise X
1 1
유저 두 명에 대한 권한은 표 3과 같습니다.
[표 4] 유저 OPPA, IHATE의 권한
Contest > BOJ User Contest > 가희와 함께 하는 코딩 테스트 > 가희와 함께 하는 코딩테스트 4회 C번