나만의 작은 도서관
문제 12951. JadenCase 문자열 만들기 본문
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/12951
난이도 : Lv.2
문제 요약 설명
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)
문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
입력
- 문자열 s
입력 제한
- s는 길이 1 이상 200 이하인 문자열입니다.
- s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다.
- 숫자는 단어의 첫 문자로만 나옵니다.
- 숫자로만 이루어진 단어는 없습니다.
- 공백문자가 연속해서 나올 수 있습니다.
입력 예제
// input
"3people unFollowed me"
// ans
"3people Unfollowed Me"
풀이 방식
문자열 s의 문자를 순회하면서 첫번째 문자이거나 이전 문자가 공백(' ')이 있을 때 문자를 대문자로 변경합니다. 그렇지않은 문자는 전부 소문자로 변경합니다. 문자열 s를 모두 순회했다면 answer를 정답으로 반환합니다.
+) 아래 코드에서 toupper/tolower함수는 숫자에 적용되지 않기 때문에 숫자에 대한 추가적인 예외처리를 하지 않아도 됩니다.
정답 코드
더보기
#include <bits/stdc++.h>
using namespace std;
string solution(string s) {
string answer = "";
for(int i = 0; i < s.length(); i++){
if(i == 0 || i-1 > 0 && s[i-1] == ' '){
s[i] = toupper(s[i]);
}
else{
s[i] = tolower(s[i]);
}
}
answer = s;
return answer;
}
'프로그래머스 문제풀이 > 코드카타' 카테고리의 다른 글
문제 12945. 피보나치 수 (0) | 2024.07.01 |
---|---|
문제 70129. 이진 변환 반복하기 (0) | 2024.06.30 |
문제 12939. 최댓값과 최솟값 (0) | 2024.06.28 |
문제 92334. 신고 결과 받기 (0) | 2024.06.27 |
문제 172928. 공원 산책 (0) | 2024.06.26 |