문제 3621 · 비트 I
돌아온 짐표
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 호텔에서는 손님이 맡긴 짐이 어느 보관대를 거쳤는지 짐표에 기록한다. 보관대마다 알파벳 대문자 한 글자가 붙어 있으며, 직원은 짐을 보관대에 놓을 때마다 해당 글자를 짐표의 오른쪽 끝에 덧붙인다. 따라서 짐표의 첫 글자는 처음 이용한 보관대를, 마지막 글자는 가장 최근에 이용한 보관대를 나타낸다. 호텔은 하루 업무를 마친 뒤, 처음 이용한 보관대로 돌아와 있는 짐의 수를 확인하려 한다. 이를 위해 각 짐표의 첫 글자와 마지막 글자를 비교한다. 두 글자가 같으면 그 짐은 처음 보관대에 있는 것으로 세고, 다르면 세지 않는다. 중간에 어떤 글자가 등장했는지와 같은 보관대를 몇 번 이용했는지는 판단에 영향을 주지 않는다. 첫 글자가 중간에 다시 등장하더라도 마지막 글자가 다르면 세지 않는다. 짐표의 길이가 1이면 처음 이용한 보관대와 가장 최근에 이용한 보관대가 같다. 그러므로 길이가 1인 짐표도 조건을 만족한다. 또한 서로 다른 짐에 같은 내용의 짐표가 붙을 수 있다. 이 경우에는 짐표의 내용이 같더라도 각각 별개의 짐으로 센다. 입력에 주어진 짐표는 모두 기록이 끝난 상태이므로, 글자를 바꾸거나 짐이 앞으로 이동할 장소를 예상할 필요는 없다. 확인할 짐표는 총 N개이며, N은 1 이상 1,000 이하의 정수다. 각 짐표는 길이가 1 이상 30 이하인 문자열이고, 알파벳 대문자로만 이루어진다. 모든 짐표를 확인하여 첫 글자와 마지막 글자가 같은 짐표의 개수를 구한다. 조건을 만족하는 짐표가 하나도 없으면 0을 출력한다.
입력
첫째 줄에 짐표의 개수 N이 주어진다. N은 1 이상 1,000 이하의 정수다. 다음 N개의 줄에 짐표를 나타내는 문자열이 한 줄에 하나씩 주어진다. 각 문자열의 길이는 1 이상 30 이하이며, 알파벳 대문자 A부터 Z까지만 포함한다. 문자열에는 공백이 없다.
출력
첫 글자와 마지막 글자가 같은 짐표의 개수를 정수 하나로 출력한다. 조건을 만족하는 짐표가 없으면 0을 출력한다.
예제 입력 1
5 KLMK B ABCAZ TT PQRP
예제 출력 1
4
예제 입력 2
3 AB MNMN XYZ
예제 출력 2
0
예제 입력 3
4 R R RSR RS
예제 출력 3
3
힌트 펼치기
- 길이가 1인 문자열에서도 첫 글자와 마지막 글자를 그대로 비교할 수 있다.
관련 서재 장
알고리즘 분류
구현문자열풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |