문제 4248 · 바이트 V
농장 상자의 작물 이름표
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 농장에서는 수확한 작물을 상자에 담고, 각 상자에 작물 이름이 적힌 이름표를 붙인다. 이름표는 여러 작업자가 나누어 작성한다. 어떤 작업자는 모든 글자를 대문자로 쓰고, 다른 작업자는 소문자로 쓰거나 읽기 편한 위치에 붙임표를 넣는다. 이 때문에 겉으로 다른 이름표가 실제로는 같은 작물 이름을 나타낼 수 있다. 농장은 이름표를 비교할 때 사용할 규칙을 정했다. 먼저 이름표에 들어 있는 붙임표 `-`를 모두 지운다. 그다음 남은 영문 대문자를 모두 대응하는 영문 소문자로 바꾼다. 이 두 과정을 거친 결과를 이름표의 정리된 이름이라고 한다. 붙임표가 맨 앞이나 맨 뒤에 있거나 여러 개 연속으로 있어도 모두 지우며, 영문자의 순서는 바꾸지 않는다. 오늘 출하할 작물의 기준 이름 T는 영문 소문자로만 주어진다. 정리된 이름이 T와 정확히 같은 상자만 출하 대상으로 센다. 이름의 일부가 같거나 글자의 종류만 같은 것으로는 충분하지 않다. 글자의 개수와 순서까지 모두 같아야 한다. 예를 들어 기준 이름이 `mint`이면 `MI-nt`와 `-m-i-n-t-`는 대상이지만, `mints`와 `mitn`은 대상이 아니다. 이름표가 같은 상자가 여러 개 있더라도 각각 별개의 상자로 센다. 한 이름표에 붙임표가 여러 개 있다고 해서 상자를 여러 번 세지는 않는다. 모든 이름표에는 영문자가 적어도 하나 들어 있으며, 공백이나 숫자는 들어 있지 않다. 이름표를 고치거나 서로 합치는 작업도 하지 않는다. 기준 이름과 상자들의 이름표가 주어질 때, 출하 대상인 상자의 수를 구하는 프로그램을 작성한다. 조건을 만족하는 상자가 하나도 없으면 상자 수는 0이다.
입력
첫째 줄에 상자의 수 N이 주어진다. N은 1 이상 10,000 이하의 정수다. 둘째 줄에 기준 이름 T가 주어진다. T는 영문 소문자로만 이루어지며 길이는 1 이상 10 이하다. 다음 N개 줄에 이름표가 하나씩 주어진다. 각 이름표의 길이는 1 이상 20 이하이며, 영문 대문자, 영문 소문자, 붙임표 `-`로만 이루어진다. 각 이름표에는 영문자가 적어도 하나 들어 있다. 모든 문자열의 길이는 문자 수를 뜻한다.
출력
출하 대상인 상자의 수를 정수 하나로 출력한다. 대상이 없으면 0을 출력한다.
예제 입력 1
6 mint MI-nt -m-i-n-t- mints mitn MINT mi--nt
예제 출력 1
4
예제 입력 2
3 pea peach p-e apple
예제 출력 2
0
예제 입력 3
4 a A -a- b AA
예제 출력 3
2
힌트 펼치기
- 각 이름표에서 붙임표를 제거하고 소문자로 바꾼 결과를 기준 이름과 비교한다.
관련 서재 장
알고리즘 분류
문자열구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |