문제
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
제한 사항
- 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
- 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
코드
#include <string>
using namespace std;
string solution(string s)
{
int cnt = 0;
for (int i = 0; i < s.size(); i++)
{
if(isspace(s[i]))
cnt = 0;
else if(cnt & 1)
s[i] = tolower(s[i]), cnt++;
else
s[i] = toupper(s[i]), cnt++;
}
return s;
}
나의 생각
isspace : 공백인지 검사하는 함수
tolower : 알파벳을 소문자로 변경, 알파벳이 아니라면 그대로 반환
toupper : 알파벳을 대문자로 변경, 알파벳이 아니라면 그대로 반환
'Algorithm > 프로그래머스 : Level 1' 카테고리의 다른 글
[프로그래머스 Level 1] 두 개 뽑아서 더하기 (0) | 2021.11.13 |
---|---|
[프로그래머스 Level 1] 약수의 합 (0) | 2021.11.13 |
[프로그래머스 Level 1] 다트 게임 (2018 카카오 기출) (0) | 2021.11.12 |
[프로그래머스 Level 1] 예산 (0) | 2021.11.12 |
[프로그래머스 Level 1] 시저 암호 (0) | 2021.11.11 |