문제
문장을 읽은 뒤, 줄의 첫 글자를 대문자로 바꾸는 프로그램을 작성하시오.
입력
첫째 줄에 줄의 수 N이 주어진다. 다음 N개의 줄에는 문장이 주어진다. 각 문장에 들어있는 글자의 수는 30을 넘지 않는다. 모든 줄의 첫 번째 글자는 알파벳이다.
출력
각 줄의 첫글자를 대문자로 바꾼뒤 출력한다.
풀이 과정
첫 글자가 소문자라면 대문자로 바꾸어 출력하고, 대문자라면 그대로 출력하면 되는 간단한 문제이다.
C언어 환경에서는 N 을 입력받고 다음 줄을 입력받기 위해서의 "엔터"가 문장 입력에 들어갈 수 있으므로, getchar() 함수 등을 활용해 입력을 정상적으로 받는 것이 관건이다.
C
#include <stdio.h>
char str[35];
int main(void) {
int n;
scanf("%d", &n);
getchar();
for (int i = 0; i < n; i++) {
gets(str);
if ('a' <= str[0] && str[0] <= 'z') str[0] -= 32;
printf("%s\n", str);
}
return 0;
}
Python
x = int(input())
for i in range(x):
y = str(input())
y= y[0].upper()+y[1:]
print(y)
'-- 예전 기록 > BOJ' 카테고리의 다른 글
[ BOJ ] 1996 : 지뢰 찾기 ( SILVER 5 ) / C, Python (0) | 2023.11.13 |
---|---|
[ BOJ ] 2669 : 직사각형 네개의 합집합의 면적 구하기 ( SILVER 5 ) / C, Python (0) | 2023.11.12 |
[ BOJ ] 2167 : 2차원 배열의 합 ( SILVER 5 ) / C (0) | 2023.11.11 |
[ BOJ ] 8958 : OX퀴즈 ( BRONZE 2 ) / C (0) | 2023.11.11 |
[ BOJ ] 1550 : 16진수 ( BRONZE 2 ) / C, Python (0) | 2023.11.10 |