백준 2902 : KMP는 왜 KMP일까?
문제 링크
https://www.acmicpc.net/problem/2902
문제 내용
(요약) 입력받은 이름의 첫번째 글자만 엮서 새로 출력한다.
입력은 한 줄로 이루어져 있고, 최대 100글자의 영어 알파벳 대문자, 소문자, 그리고 하이폰으로만 이루어져 있다. 첫 번째 글자는 항상 대문자이다. 그리고, 하이픈 뒤에는 반드시 대문자이다. 그 외의 모든 문자는 소문자이다.
ex) Knuth-Morris-Pratt → KMP
Idea
문제의 핵심은 하이픈 뒤의 문제를 제외한 문자들은 모두 소문자로 이루어져 있다는 것을 파악하면 쉽게 풀 수 있는 문제이다. 이 문제는 하이픈 뒤의 대문자만을 출력하면 되므로 ctype.h에 있는 isupper을 사용하면 손쉽게 프로그래밍 할 수 있다.
- isupper(char) : 해당 문자가 대문자이면 1, 아니면 0을 리턴한다.
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main() {
char name[101];
scanf("%s", name);
for (int i = 0; i < strlen(name); i++)
if (isupper(name[i]))
printf("%c", name[i]);
printf("\n");
return 0;
}
|
cs |
'백준 Baekjoon' 카테고리의 다른 글
[JAVA] 백준 4228 : The Dragon of Loowater (0) | 2020.07.23 |
---|---|
[C언어] 백준 10809 : 알파벳 찾기 (0) | 2020.07.22 |
[C언어] 백준 2822 : 점수 계산 (0) | 2020.07.21 |
[C언어] 백준 6378 : 디지털 루트 (0) | 2020.07.21 |
[C언어] 백준 4659 : 비밀번호 발음하기 (0) | 2020.07.21 |