728x90
728x170
문제
"The quick brown fox jumped over the lazy dogs."
이 문장은 모든 모든 알파벳이 적어도 한 번은 나오는 문장으로 유명하다.즉 26개의 서로 다른 문자를 갖고 있는 것이다.
각 케이스마다 문장에서 공백, 숫자, 특수 문자를 제외하고 얼마나 다양한 알파벳이 나왔는지를 구하면 된다. 대소문자는 하나의 문자로 처리한다. ex) 'A' == 'a'
입력
입력은 250자를 넘지 않는 문장이 주어진다.
각 문장은 적어도 하나의 공백이 아닌 문자를 포함한다. (알파벳이 아닐 수 있다)
마지막 줄에는 '#'이 주어진다.
출력
각 줄마다 출몰한 알파벳의 개수를 출력하면 된다.
예제 입력
The quick brown fox jumped over the lazy dogs. 2 + 2 = 4 New Zealand Programming Contest. # |
예제 출력
26 0 16 |
힌트
출처
ACM-ICPC > Regionals > South Pacific > South Pacific Region > New Zealand Programming Contest > NZPC 2008 F번
· 문제를 번역한 사람: busyhuman
코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #include <iostream> #include <cstring> // strlen() #define N 252 // 줄바꿈 문자를 생각해서 길이를 크게 잡아줘야 함. using namespace std; int main() { int len, sum = 0, cnt = 0, isChecked = 0; char ary[N]; while (1) { cin.getline(ary, N); len = strlen(ary); if (ary[0] == '#') { return 0; } for (int i = 65; i <= 90; i++) { for (int j = 0; j < len; j++) { if ((ary[j] == i) || (ary[j] == i + 32)) { if (isChecked == 0) { cnt++; isChecked = 1; } } } isChecked = 0; sum += cnt; cnt = 0; } cout << sum << endl; sum = 0; } return 0; } | cs |
728x90
그리드형(광고전용)
'Problem Solving > BaekJoon Online Judge' 카테고리의 다른 글
[BOJ2743][C++] 단어 길이 재기 (0) | 2017.11.14 |
---|---|
[BOJ2609][C++] 최대공약수와 최소공배수 (0) | 2017.11.12 |
[BOJ4606][C++] The Seven Percent Solution (0) | 2017.11.12 |
[BOJ11728][C++] 배열 합치기 (0) | 2017.11.12 |
[BOJ2523][C++] 별찍기 - 13 (0) | 2017.11.12 |
[BOJ2522][C++] 별찍기 - 12 (0) | 2017.11.12 |
[BOJ10569][C++] 다면체 (0) | 2017.11.12 |
[BOJ2556][C++] 별찍기 - 14 (0) | 2017.11.12 |