문제 3476 · 바이트 V
수족관 급이 완료 로그
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
수족관의 자동 급이 장치는 수조에 먹이를 공급하려고 시도할 때마다 운영 서버에 로그 한 줄을 보낸다. 백엔드 운영 담당자는 하루 동안 모인 로그를 읽고, 실제로 공급된 먹이의 총량이 가장 많은 수조를 찾아야 한다. 먹이를 공급하려다 실패한 기록도 같은 파일에 들어 있으므로, 로그에 적힌 양을 모두 더해서는 안 된다. 로그 한 줄의 형식은 수조번호:상태:먹이량이다. 두 개의 콜론이 세 항목을 구분하며, 줄 안에는 공백이 없다. 수조번호는 1 이상 999 이하의 정수이고, 먹이량은 1 이상 999 이하의 정수로 단위는 그램이다. 두 정수는 앞에 불필요한 0을 붙이지 않은 십진수로 기록된다. 상태는 대문자 S 또는 F 한 글자다. S는 적힌 먹이량만큼 공급을 완료했다는 뜻이고, F는 공급에 실패하여 실제로 공급된 먹이가 없다는 뜻이다. 각 로그는 서로 다른 한 번의 공급 시도를 나타낸다. 따라서 내용이 완전히 같은 로그가 여러 줄 있더라도 각각 별개의 기록으로 처리한다. 같은 수조의 기록이 연속해서 등장한다는 보장은 없으며, 로그가 등장한 순서는 집계 결과에 영향을 주지 않는다. 실패 기록의 먹이량은 시도했던 양일 뿐이므로 실제 공급량에 포함하지 않는다. 하나 이상의 성공 기록이 있는 수조 중에서 실제 공급량의 합이 가장 큰 수조를 찾는다. 합이 같은 수조가 여러 개라면 수조번호가 가장 작은 수조를 선택한다. 선택한 수조의 번호와 실제 공급량의 합을 출력한다. 성공 기록이 하나도 없다면 선택할 수조가 없는 것으로 보고 0 0을 출력한다. 입력에 등장하지 않은 수조나 실패 기록만 있는 수조는 선택 대상이 아니다.
입력
첫째 줄에 로그의 개수 N이 주어진다. N은 1 이상 30,000 이하의 정수다. 다음 N개의 줄에 로그가 한 줄씩 주어진다. 각 줄은 수조번호:상태:먹이량 형식이다. 수조번호와 먹이량은 각각 1 이상 999 이하의 정수이며, 앞에 불필요한 0이 없다. 상태는 S 또는 F다. 각 줄에는 공백이 없으며, 모든 로그는 설명한 형식을 따른다.
출력
선택한 수조번호와 그 수조의 실제 공급량 합을 공백으로 구분하여 한 줄에 출력한다. 성공 기록이 하나도 없다면 0 0을 출력한다.
예제 입력 1
7 12:S:30 3:S:50 12:F:90 12:S:20 8:S:49 3:F:10 8:F:999
예제 출력 1
3 50
예제 입력 2
3 1:F:999 999:F:1 1:F:999
예제 출력 2
0 0
예제 입력 3
5 27:S:8 4:S:15 27:S:8 4:F:999 27:S:8
예제 출력 3
27 24
힌트 펼치기
- 콜론을 기준으로 로그를 세 항목으로 나눈다.
- 상태가 S인 기록의 먹이량만 수조별로 더한 뒤, 합과 수조번호를 차례로 비교한다.
알고리즘 분류
문자열로그 파싱구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |