문제 3343 · 비트 IV
급식 신청표의 한 글자
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 학교의 급식 담당자는 학생들이 신청한 식사 종류를 한 줄의 문자열로 모아 확인한다. 이 학교에서 신청할 수 있는 식사는 기본식, 채소식, 간편식의 세 종류다. 신청표에서는 기본식을 대문자 A, 채소식을 대문자 B, 간편식을 대문자 C로 나타낸다. 문자열의 각 글자는 학생 한 명의 신청을 뜻하며, 글자가 놓인 순서는 신청서를 제출한 순서다. 담당자는 한 번에 한 종류의 식사만 포장한다. 오늘 먼저 포장할 식사의 종류가 한 글자로 주어지면, 신청표에서 그 종류를 신청한 학생이 몇 명인지 알아내려고 한다. 예를 들어 먼저 포장할 종류가 B라면 신청표에 나타난 B의 개수를 세면 된다. 다른 종류의 글자는 포장할 수량에 영향을 주지 않는다. 신청표에 같은 글자가 연속해서 나타나더라도 각 글자는 서로 다른 학생의 신청이다. 따라서 연속한 글자들을 하나로 합치거나, 앞에서 이미 나온 종류라는 이유로 뒤의 글자를 제외하지 않는다. 문자열의 처음과 끝에 있는 글자도 똑같이 센다. 신청표에 먼저 포장할 종류가 한 번도 나타나지 않을 수도 있으며, 이때 필요한 포장 수량은 0개다. 이 문제에서는 학생 한 명이 정확히 한 종류의 식사만 신청하고, 신청한 모든 학생에게 식사를 하나씩 제공한다. 신청 취소나 추가 신청은 없으며, 신청표에는 A, B, C 이외의 글자가 들어 있지 않다. 학생의 이름이나 학년은 주어지지 않고, 신청 순서에 따라 포장 수량이 달라지지도 않는다. 주어진 신청표 전체를 확인하여 먼저 포장할 식사가 모두 몇 개 필요한지 구하는 프로그램을 작성한다.
입력
첫째 줄에 신청한 학생 수를 나타내는 정수 N이 주어진다. 1 ≤ N ≤ 1,000이다. 둘째 줄에 길이가 정확히 N인 문자열 S가 주어진다. S의 각 글자는 대문자 A, B, C 중 하나이며 공백은 없다. 셋째 줄에 먼저 포장할 식사의 종류 T가 주어진다. T는 A, B, C 중 한 글자다.
출력
T를 신청한 학생 수를 0 이상의 정수 하나로 출력한다. 해당 학생이 없으면 0을 출력한다.
예제 입력 1
8 ABBCABCB B
예제 출력 1
4
예제 입력 2
5 AACAA B
예제 출력 2
0
예제 입력 3
1 C C
예제 출력 3
1
힌트 펼치기
- 문자열의 각 글자를 먼저 포장할 종류와 비교한다.
관련 서재 장
알고리즘 분류
구현문자열풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |