시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
4 초 | 512 MB | 685 | 174 | 99 | 24.505% |
가희는 jo_test
폴더에 들어와 있습니다. jo_test
폴더에는 일반 파일이 N개 있습니다.
각각의 파일에는 권한이 있습니다. 권한이란 어떤 유저가 특정한 일을 수행할 수 있는지를 나타내며, 3개의 숫자로 구성됩니다.
숫자 | 권한 |
0 | 아무것도 할 수 없음 |
1 | 실행 권한이 있음 |
2 | 수정 권한이 있음 |
3 | 실행 권한과 수정 권한이 있음 |
4 | 읽기 권한이 있음 |
5 | 읽기와 실행 권한이 있음 |
6 | 읽기와 수정 권한이 있음 |
7 | 읽기와 실행, 수정 권한이 있음 |
[표 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와 같습니다.
cho | gahui | mysql | |
namahage | RWX | RX | R |
dochida | RW | R | R |
[표 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과 같습니다.
OPPA | IHATE | |
DONGMUL | RWX | RX |
maruchise | RWX | RX |
[표 4] 유저 OPPA, IHATE의 권한
Contest > BOJ User Contest > 가희와 함께 하는 코딩 테스트 > 가희와 함께 하는 코딩테스트 4회 C번