본문으로 이동
코드패스 by Devin.KR

문제 3033 · 비트 V

도서관의 연장 확인표

인증 제출 통계 · 5분마다 갱신 · 정답 비율 = 정답 제출 / 전체 제출
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1000ms / 테스트 (언어별 보정은 아래 표)메모리: 측정하지 않음(브라우저 채점)0000.00%

문제

작은 도서관에서는 빌려 간 책의 반납 기한을 연장할 수 있는지 확인하는 단말기를 운영한다. 이용자가 책 한 권의 정보를 입력하면 단말기는 정해진 순서대로 조건을 확인하고 결과 번호 하나를 표시한다. 여러 조건에 동시에 해당하더라도 결과 번호는 하나만 표시해야 한다. 입력되는 정보는 반납 기한을 넘긴 날짜 수 D, 그 책을 기다리는 예약자 수 R, 지금까지 그 책의 반납 기한을 연장한 횟수 E다. 세 값은 모두 0 이상의 정수다. D가 0이면 아직 반납 기한을 넘기지 않았다는 뜻이며, 반납 기한 당일에도 D는 0이다. R이 0이면 기다리는 예약자가 없다는 뜻이다. 단말기는 가장 먼저 연체 여부를 확인한다. D가 1 이상이면 다른 정보와 관계없이 결과 번호 1을 표시한다. 연체하지 않았다면 예약 여부를 확인한다. 이때 R이 1 이상이면 결과 번호 2를 표시한다. 연체하지 않았고 예약자도 없다면 이전 연장 횟수를 확인한다. E가 2 이상이면 결과 번호 3을 표시한다. 앞의 어느 조건에도 해당하지 않으면 연장이 가능하므로 결과 번호 0을 표시한다. 예를 들어 연체 중인 책에 예약자까지 있더라도 예약 여부보다 연체 여부를 먼저 확인하므로 결과 번호는 1이다. 연장 횟수가 정확히 2인 경우도 연장 횟수 제한에 걸린다. 연장이 가능한 경우에만 0을 출력하며, 가능한 책의 새 반납 날짜를 계산할 필요는 없다. 책 한 권의 정보가 주어졌을 때 단말기에 표시할 결과 번호를 구한다.

입력

첫째 줄에 정수 D, R, E가 공백으로 구분되어 주어진다.
0 ≤ D ≤ 30
0 ≤ R ≤ 100
0 ≤ E ≤ 5

출력

단말기에 표시할 결과 번호 하나를 출력한다. 연체 중이면 1, 연체하지 않았으나 예약자가 있으면 2, 앞의 두 조건에 해당하지 않고 연장 횟수가 2 이상이면 3, 나머지는 0을 출력한다.

예제 입력 1

3 4 2

예제 출력 1

1

예제 입력 2

0 0 2

예제 출력 2

3

예제 입력 3

0 0 1

예제 출력 3

0
힌트 펼치기
  • 연체 여부, 예약 여부, 연장 횟수를 정해진 순서대로 확인한다.

관련 서재 장

관련 장

출처: Devin.KR 자체 제작

알고리즘 분류조건문구현

풀이 작성

연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.

Python 기본 시간 제한 = 문제 시간 제한 × 3 + 2초. 문제별 예외는 아래 표에 반영됩니다. 표준 라이브러리만 지원합니다.

Ctrl+Enter: 연습 채점 · Tab: 들여쓰기 · Esc 후 Tab: 다음 요소로 이동. 언어별 초안은 이 브라우저에 저장됩니다. JavaScript 입력: require('fs').readFileSync(0, 'utf8'), readline 또는 input().

로그인하면 인증 제출을 사용할 수 있습니다.

풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.

    연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.

    이 브라우저의 연습 기록

      언어별 제한

      테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.

      언어엔진(버전)시간 제한메모리
      javascript사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름)1000ms / 테스트측정하지 않음(브라우저 채점)
      pythonPyodide 314.0.7 (CPython 3.14 WASM)5000ms / 테스트측정하지 않음(브라우저 채점)