728x90
SMALL
https://www.acmicpc.net/problem/11091
문제의 태그(분류)는 구현+문자열이다.
이런 문제가 처음 써보는 언어를 맛보기도 좋고 구현 능력에도 도움이 되겠지만
풀 때의 컨디션에 따라 즐겁기도, 지루하기도 한 것 같다.
getline으로 s를 입력받고, 해당 문자가 존재함을 alphabet이라는 bool형 배열에 체크했다.
이후 alphabet이 false, 즉 해당 인덱스의 알파벳이 존재하지 않는다면 missedS라는 string에 해당 문자를 이어넣었다.
코드
#include <iostream>
#include <string>
using namespace std;
int n;
int main(void) {
cin >> n;
cin.ignore();
for (int i = 0; i < n; i++) {
string s, missedS = "";
bool alphabet[26];
fill(alphabet, alphabet+26, false);
bool isPangram = true;
getline(cin, s);
for (int i = 0; i < s.size(); i++) {
if (s[i] >= 'A' && s[i] <= 'Z') {
alphabet[(s[i] - 'A')] = true;
}
else if (s[i] >= 'a' && s[i] <= 'z') {
alphabet[(s[i] - 'a')] = true;
}
}
for (int i = 0; i < 26; i++) {
if (!alphabet[i]) {
isPangram = false;
missedS += char(i + 97);
}
}
if (isPangram) {
cout << "pangram\n";
}
else {
cout << "missing " << missedS << '\n';
}
}
return 0;
}
728x90
LIST
'PS > BOJ' 카테고리의 다른 글
백준 1932 (C++) 정수 삼각형 (0) | 2022.01.25 |
---|---|
백준 8892 (C++) 팰린드롬 (0) | 2022.01.19 |
백준 1431 (C++) 시리얼 번호 (0) | 2022.01.13 |
백준 2744 (C++) 대소문자 바꾸기 (0) | 2021.12.23 |
백준 2583 (C++) 영역 구하기 (0) | 2021.11.27 |