문제 3243 · 비트 IV
접수 코드의 숫자 확인
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
은행 창구에서는 종이 서류를 전산 기록과 연결하기 위해 각 서류에 접수 코드를 붙인다. 접수 코드는 숫자 문자만 이어 붙인 문자열이다. 코드에 사용되는 문자는 0부터 9까지이며, 맨 앞에도 0이 올 수 있다. 이 코드는 금액이나 수량을 나타내는 정수가 아니라 서류를 구분하기 위한 이름이므로, 앞에 있는 0도 다른 문자와 똑같이 보존한다. 창구의 점검 장치는 하나의 접수 코드와 확인할 숫자 문자 하나를 전달받는다. 장치는 접수 코드를 왼쪽부터 오른쪽까지 살펴보면서 확인할 문자와 같은 문자가 몇 번 나오는지 센다. 직원은 이 횟수를 이용해 코드가 점검표에 올바르게 기록되었는지 확인한다. 이 문제에서는 점검표와 비교하는 과정 없이 장치가 세어야 하는 횟수만 구한다. 같은 문자가 연속해서 나오더라도 각 위치를 따로 센다. 연속한 여러 문자를 하나의 묶음으로 세지 않는다. 반대로 확인할 문자와 다른 문자는 결과에 영향을 주지 않는다. 코드 안에서 문자의 순서를 바꾸거나, 중복된 문자를 지우거나, 일부 문자를 다른 문자로 바꾸는 작업은 하지 않는다. 확인할 문자가 코드의 처음이나 끝에 있어도 다른 위치와 같은 규칙을 적용한다. 확인할 문자는 반드시 한 글자이며, 코드에 들어 있는 문자와 마찬가지로 숫자 문자이다. 코드 전체가 확인할 문자로만 이루어져 있을 수도 있고, 확인할 문자가 한 번도 나타나지 않을 수도 있다. 한 번도 나타나지 않는 경우에는 횟수를 0으로 정한다. 코드의 길이가 1인 경우에도 같은 방식으로 처리한다. 접수 코드의 길이 N, 접수 코드 S, 확인할 숫자 문자 D가 주어진다. S의 각 위치 중 D와 같은 문자가 적힌 위치의 개수를 구하여 출력한다. 출력하는 값은 문자의 개수를 나타내는 정수 하나이다.
입력
첫째 줄에 접수 코드의 길이인 정수 N이 주어진다. 1 ≤ N ≤ 1,000이다. 둘째 줄에 길이가 정확히 N인 문자열 S가 주어진다. S의 모든 문자는 0부터 9까지의 숫자 문자이다. 셋째 줄에 확인할 숫자 문자 D가 한 글자 주어진다. D는 0부터 9까지 중 하나이다.
출력
S에서 D가 나타나는 횟수를 정수 하나로 출력한다. D가 나타나지 않으면 0을 출력한다.
예제 입력 1
8 00102000 0
예제 출력 1
6
예제 입력 2
5 73137 8
예제 출력 2
0
예제 입력 3
4 7777 7
예제 출력 3
4
힌트 펼치기
- 코드를 정수로 바꾸지 않고 문자열로 읽으면 앞의 0도 그대로 살펴볼 수 있다.
관련 서재 장
알고리즘 분류
문자열반복풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |