문제 3321 · 비트 I
주차장 진입 권한 확인
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
공동 업무 건물의 주차장 보안 담당자는 입구에서 수집한 차량 정보를 확인한다. 차단기를 여는 프로그램에는 등록 차량 여부, 방문 승인 여부, 진입 차단 여부가 전달된다. 담당자는 프로그램이 정해진 접근 규칙을 따르는지 점검하기 위해 각 진입 요청의 올바른 판정 결과를 만들려고 한다. 차량 번호나 운전자의 이름은 판정에 사용하지 않으며, 입력에 주어진 세 가지 정보만 확인한다. 각 요청의 정보는 R, V, B로 나타낸다. R은 등록 차량 여부이다. R이 1이면 주차장에 등록된 차량이고, 0이면 등록되지 않은 차량이다. V는 해당 요청에 대한 방문 승인 여부이다. V가 1이면 방문 승인을 받은 상태이고, 0이면 방문 승인을 받지 않은 상태이다. B는 진입 차단 여부이다. B가 1이면 보안 담당자가 진입을 차단한 상태이고, 0이면 별도의 차단이 없는 상태이다. 진입 차단은 다른 모든 정보보다 우선한다. 따라서 B가 1인 요청은 등록 차량이거나 방문 승인을 받았더라도 진입을 거부한다. B가 0인 요청은 등록 차량이거나 방문 승인을 받은 경우에 진입을 허용한다. 등록 차량이면서 방문 승인도 받은 경우 역시 허용한다. B가 0이어도 등록 차량이 아니고 방문 승인도 없다면 진입을 거부한다. 등록과 방문 승인은 둘 중 하나만 충족해도 되지만, 진입 차단을 무시할 수는 없다. 각 요청은 독립적으로 판정한다. 앞선 요청이 허용되거나 거부된 결과는 뒤의 요청에 영향을 주지 않는다. 같은 정보가 여러 번 입력되면 매번 같은 규칙을 적용하며, 반복 요청이라는 이유로 별도의 처리를 하지 않는다. 주차 가능 공간, 요금, 진입 시각은 고려하지 않는다. 입력 순서를 유지하면서 허용된 요청에는 ALLOW, 거부된 요청에는 DENY를 출력하는 프로그램을 작성해야 한다.
입력
첫째 줄에 진입 요청 수 N이 주어진다. 다음 N개 줄에 R, V, B가 공백으로 주어진다. 모든 입력값은 정수이며 1≤N≤1,000이고 R, V, B는 각각 0 또는 1이다.
출력
각 요청의 판정 결과를 입력 순서대로 한 줄에 하나씩 출력한다. 진입을 허용하면 대문자 ALLOW, 거부하면 대문자 DENY를 출력한다. 허용되는 요청이 하나도 없으면 N개 줄에 모두 DENY를 출력한다.
예제 입력 1
4 1 0 0 0 1 0 1 1 1 0 0 0
예제 출력 1
ALLOW ALLOW DENY DENY
예제 입력 2
3 0 0 1 1 0 1 0 1 1
예제 출력 2
DENY DENY DENY
예제 입력 3
2 1 1 0 1 1 0
예제 출력 3
ALLOW ALLOW
힌트 펼치기
- 진입 차단 여부를 먼저 확인하면 규칙을 쉽게 나눌 수 있다.
알고리즘 분류
조건문구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |