문제
https://www.acmicpc.net/problem/4458
4458번: 첫 글자를 대문자로
첫째 줄에 줄의 수 N이 주어진다. 다음 N개의 줄에는 문장이 주어진다. 각 문장에 들어있는 글자의 수는 30을 넘지 않는다. 모든 줄의 첫 번째 글자는 알파벳이다.
www.acmicpc.net
코드
#include <iostream>
#include <string>
using namespace std;
int main(){
int n;
cin >> n;
cin.ignore();
for(int i=0; i<n; i++){
string s;
getline(cin, s);
s[0] = toupper(s[0]);
cout << s << '\n';
}
return 0;
}
정리
cin과 getline()을 함께 사용할 때 cin.ingore()이 필요한 이유
→ cin은 '\n'을 변수에 담지 않고 입력버퍼에 남겨두고 getline은 '\n'을 변수에 담기 때문이다.
++
toupper(); 대문자로 변환
tolower(); 소문자로 변환
참조
'Beakjoon > else' 카테고리의 다른 글
[백준] 1431번 시리얼 번호 (C++) - sort, compare (0) | 2022.05.08 |
---|---|
[백준] 2484번 주사위 네개 (C++) (0) | 2022.03.20 |
[백준] 2744번 대소문자 바꾸기 (C++) (0) | 2022.03.01 |
[백준] 10984번 내 학점을 구해줘 (C++) (0) | 2022.02.21 |
[백준] 11723번 집합 (C++) (0) | 2022.01.21 |