https://www.acmicpc.net/problem/11091
11091번: 알파벳 전부 쓰기
팬그램은 26개의 알파벳, a~z를 최소 한번씩 모두 사용한 문장을 말한다. 아마 가장 유명한 문장은 이것일 것이다. "The quick brown fox jumps over the lazy dog." 꿍은 다른 문장들중에 팬그램인 것은 없는지
www.acmicpc.net
c++로 백준 11091번 문제를 풀어보겠다.
문제
팬그램은 26개의 알파벳, a~z를 최소 한번씩 모두 사용한 문장을 말한다. 아마 가장 유명한 문장은 이것일 것이다. "The quick brown fox jumps over the lazy dog."
꿍은 다른 문장들중에 팬그램인 것은 없는지 궁금해졌다. 그래서 여러분이 할 일은 꿍을 위해 어떠한 문장이 팬그램인지 아닌지를 판별해주는 프로그램을 짜는 것이다.
팬그램에서는 알파벳의 대소문자를 구분하지 않는다고 하자.
입력
입력의 첫 번째 줄은 1 ≤ N ≤ 50의 N이 주어진다.
다음 N개의 줄은 각각 한 문장이 주어지는데, 알파벳의 대소문자, 공백, 숫자, 그리고 분장부호들(. , ? ! ' ")이 포함될 수 있다.
각 문장은 최소 한개의 문자를 포함하며 100개를 넘지는 않는다.
출력
각 입력에 대해, 팬그램에 해당하면 "pangram"을 출력한다.
만약 팬그램이 아닐 경우, "missing"을 출력한 후 한칸 띄고 문장에 나타나지 않은 문자들을 모두 출력한다. 이때, 나타나지 않은 문자들은 모두 소문자로 출력하며 알파벳 순서대로 정렬된상태로 출력해야 한다.
예제 입력 1 복사
3
The quick brown fox jumps over the lazy dog.
ZYXW, vu TSR Ponm lkj ihgfd CBA.
.,?!'" 92384 abcde FGHIJ
예제 출력 1 복사
pangram
missing eq
missing klmnopqrstuvwxyz
<문제 풀이>
1. N을 선언한 후 입력받는다.
2. for문을 N번 반복하며 주어진 문제를 해결한다.
- for 반복문 코드 내용 -
문자열을 입력받는다.
배열의 크기가 26인 bool형의 배열을 모두 false로 선언한다.
입력받은 문자열의 문자의 배열 값을 true로 바꿔준다.
bool 배열에 0이 아직 남아있지 않다면 "pangram"을 출력한다.
bool 배열에 0이 아직 남아있다면 "missing"을 출력한 후, 남아있는 알파벳들을 모두 출력한다.
for문을 다시 반복한다.
코드는 다음과 같다.
'C++' 카테고리의 다른 글
[백준 알고리즘] 2588번 : 곱셈, c++ (0) | 2022.03.21 |
---|---|
[백준 알고리즘] 5671번 : 호텔 방 번호, c++ (0) | 2022.03.20 |
[백준 알고리즘] 5026번 : 박사 과정, c++ (0) | 2022.03.19 |
[백준 알고리즘] 11943번 : 파일 옮기기, c++ (0) | 2022.03.18 |
[백준 알고리즘] 6359번 : 만취한 상범, c++ (0) | 2022.03.18 |