Skip to content

Conversation

@0224LJH
Copy link
Contributor

@0224LJH 0224LJH commented Oct 12, 2025

🧷 문제 링크

https://www.acmicpc.net/problem/26650

🧭 풀이 시간

30분

👀 체감 난이도

✏️ 문제 설명

팬그램(pangram)이란 알파벳의 모든 문자가 최소 한 번씩 등장하는 문자열을 말한다. 팬그램의 예시로는 "The quick brown fox jumps over the lazy dog", "The five boxing wizards jump quickly"등이 있다. 팬그램은 그 자체로 충분히 아름다운 문자열이지만, 래오는 팬그램 중에서도 모든 알파벳이 순서대로 나열된 팬그램만이 아름답다고 생각해 이를 그램팬이라 부르기로 했다.

예를 들어 "ABBCDEFGGHIJKLMNOPQRSSTUVWXYZ"는 그램팬이며, "BABCDEFGHIJKLMNOPQRSTUVWXYZ", "ABCADEFGHIJKLMNOPQRSTUVWXYZ"은 팬그램이지만 그램팬은 아니다.

어느 날 북과고 컴퓨터실 구석에서 문자열
$S$를 발견한 래오는
$S$의 부분 문자열 중 그램팬인 것의 개수가 궁금해졌다. 래오를 위해 이를 계산하는 프로그램을 작성해보자.

문자열
$S$의 부분 문자열이란, 문자열의 연속된 일부를 의미한다. 부분 문자열 중 같은 것이 있더라도 기존 문자열에서의 위치가 다르다면 다른 것으로 센다.

🔍 풀이 방법

결국 한번 검사할때, A가 몇번 연속되는지, Z가 연속되는지만 확인하면 된다.

특정 문자열이 그램팬임을 확인하면, A 개수 * Z 개수 = 그 문자열에서 만들어질 수 있는 그램팬 갯수 임을 알면 끝!

⏳ 회고

@0224LJH 0224LJH added the success 👍 해설을 보지 않고 풀었을 때 label Oct 12, 2025
@ShinHeeEul ShinHeeEul merged commit 545cc67 into main Oct 12, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

success 👍 해설을 보지 않고 풀었을 때

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants