반응형
https://www.acmicpc.net/problem/4458
문제
문장을 읽은 뒤, 줄의 첫 글자를 대문자로 바꾸는 프로그램을 작성하시오.
입력
첫째 줄에 줄의 수 N이 주어진다. 다음 N개의 줄에는 문장이 주어진다. 각 문장에 들어있는 글자의 수는 30을 넘지 않는다. 모든 줄의 첫 번째 글자는 알파벳이다.
출력
각 줄의 첫글자를 대문자로 바꾼뒤 출력한다.
예제 입력 | 예제 출력 |
풀이
문자열의 가장 왼쪽에 있는 글자만 대문자로 바꾸는 문제이다.
처음에 이 문제를 보고 문자열에 각 단어의 앞글자를 다 대문자로 바꾸는 줄 알았다.
그래서 정답비율이 49퍼센트 구나 생각하고 있었다....
코드
#include <iostream>
#include <string>
using namespace std;
int main() {
int test;
cin>>test;
string str;
cin.ignore();
for(int i=0; i<test; i++){
getline(cin, str);
for(int i=0; i<str.length(); i++){
str[0]=toupper(str[0]); // keypoint
cout<<str[i];
}
cout<<"\n";
}
return 0;
}
|
cs |
toupper(n) : 소문자를 대문자로 바꾸는 것 n->N
isupper(n) : n이라는 문자가 대문자인지 검사하는 것
반응형
'백준 > C++' 카테고리의 다른 글
[BaeKJoon/C++] 백준 4999 c++ 아! (0) | 2022.03.01 |
---|---|
[BaeKJoon/C++] 백준 11170 c++ 0의 개수 (0) | 2022.02.28 |
[BaeKJoon/C++] 백준 11945 c++ 뜨거운 붕어빵 (0) | 2022.02.26 |
[BaeKJoon/C++] 백준 11586 c++ 지영 공주님의 마법 거울 (0) | 2022.02.25 |
[BaeKJoon/C++] 백준 11047 c++ 동전 0 (0) | 2022.02.24 |