문제 4650 · 바이트 II
접속 표식 검사
댓글 0| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms | 측정하지 않음 | 0 | 0 | 0 | 0.00% |
문제
게임 서버는 접속 요청마다 지역 코드, 표시 이름, 요청 번호를 하나로 합친 접속 표식을 받는다. 운영 도구는 잘못된 표식을 그대로 저장하기 전에 걸러야 한다. 이 도구에서는 정규식 기능을 사용할 수 없으므로, 문자열의 문자와 위치를 직접 확인하여 검사한다. 정상적인 표식의 형태는 지역코드:표시이름#요청번호다. 여기서 콜론과 우물정자는 실제 구분 문자다. 콜론은 정확히 한 번, 우물정자도 정확히 한 번 등장해야 하며, 콜론이 우물정자보다 앞에 있어야 한다. 구분 문자 앞뒤에 공백이나 다른 문자를 덧붙일 수 없다. 지역 코드는 정확히 두 글자이며, 두 글자 모두 영문 대문자 A부터 Z까지 중 하나여야 한다. 표시 이름은 길이가 3 이상 12 이하인 문자열이다. 표시 이름에는 영문 소문자 a부터 z까지, 숫자 0부터 9까지, 밑줄만 사용할 수 있다. 첫 글자는 반드시 영문 소문자여야 하고, 마지막 글자는 영문 소문자 또는 숫자여야 한다. 밑줄 두 개가 바로 이웃하는 것도 허용하지 않는다. 요청 번호는 1 이상 9999 이하의 정수를 십진수로 적은 문자열이다. 숫자 이외의 문자는 사용할 수 없으며, 맨 앞에 0을 붙일 수 없다. 예를 들어 요청 번호 부분이 00이나 012인 표식은 정상적인 표식이 아니다. 입력된 표식은 서로 같을 수 있으며, 같은 표식도 입력된 횟수만큼 각각 검사한다. 입력 순서대로 1번부터 번호를 붙였을 때, 정상적인 표식의 개수와 가장 먼저 등장한 잘못된 표식의 번호를 구한다. 잘못된 표식이 하나도 없다면 그 번호 대신 0을 사용한다.
입력
첫째 줄에 표식의 개수 N이 주어진다. N은 1 이상 12000 이하의 정수다. 다음 N개 줄에 표식이 한 줄에 하나씩 주어진다. 각 표식의 길이는 1 이상 24 이하이며, 영문 대문자, 영문 소문자, 숫자, 밑줄(_), 콜론(:), 우물정자(#)로만 이루어진다. 표식에는 공백이 없다.
출력
정상적인 표식의 개수와 가장 먼저 등장한 잘못된 표식의 번호를 공백으로 구분하여 출력한다. 모든 표식이 정상적이면 두 번째 값으로 0을 출력한다.
예제 입력 1
5 KR:oak_7#21 EU:a__b#3 NA:pine#004 JP:fern9#9999 AB:ab#1
예제 출력 1
2 2
예제 입력 2
3 AZ:abc#1 BC:x_y#42 DE:z00#9999
예제 출력 2
3 0
예제 입력 3
2 # AA:abc#0
예제 출력 3
0 1
힌트 펼치기
- 구분 문자의 개수와 순서를 먼저 검사하면 각 부분을 독립적으로 확인할 수 있다.
- 숫자로만 이루어졌는지 확인한 뒤, 길이와 첫 글자로 요청 번호의 범위를 판별할 수 있다.
알고리즘 분류
문자열구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
댓글 0
로그인하면 댓글을 쓸 수 있습니다.
댓글 접기·펼치기
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| JavaScript | 브라우저 JavaScript | 1000ms / 테스트 | 측정하지 않음 |
| TypeScript | TypeScript 5.9.3 | 1000ms / 테스트 | 측정하지 않음 |
| Python 3 | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음 |
| C | YoWASP Clang 22 | 2000ms / 테스트 | 측정하지 않음 |
| C++ | YoWASP Clang 22 / libc++ | 2000ms / 테스트 | 측정하지 않음 |
| Java | OpenJDK javac + TeaVM (Java 21 문법) | 3000ms / 테스트 | 측정하지 않음 |
| Lua | Wasmoon 1.16.0 / Lua 5.4 | 3000ms / 테스트 | 측정하지 않음 |
| Ruby | Ruby 3.4 / ruby.wasm 2.10.1 | 5000ms / 테스트 | 측정하지 않음 |
| Scheme | BiwaScheme 0.8.3 | 5000ms / 테스트 | 측정하지 않음 |
| Prolog | SWI-Prolog / swipl-wasm 8.2.5 | 5000ms / 테스트 | 측정하지 않음 |
| Perl | Perl 5.28 / WebPerl 0.09-beta | 5000ms / 테스트 | 측정하지 않음 |