쌓고 쌓다
[프로그래머스] 이상한 문자 만들기 C++ 풀이 본문
https://school.programmers.co.kr/learn/courses/30/lessons/12930?language=cpp#
전체 코드
#include <string>
#include <vector>
using namespace std;
string solution(string s) {
string answer = "";
int idx=0;
for(int i=0;i<s.length();i++)
{
if(s[i]==' ')
idx=0;
else
{
if(s[i]>='a'&&s[i]<='z')
{
if(idx%2==0)
s[i]=s[i]-'a'+'A';
}
else
{
if(idx%2!=0)
s[i]=s[i]-'A'+'a';
}
idx++;
}
}
answer=s;
return answer;
}
단어의 인덱스를 idx를 통해 관리합니다.
공백을 만나면 단어의 시작을 뜻하므로 홀/짝 구분을 위한 idx를 0으로 초기화합니다.
문자가 소문자인 경우, 짝수이면 대문자로 바꾸어줍니다.
if(s[i]>='a'&&s[i]<='z')
{
if(idx%2==0)
s[i]=s[i]-'a'+'A';
}
문자가 대문자인 경우, 홀수이면 소문자로 바꾸어줍니다.
else
{
if(idx%2!=0)
s[i]=s[i]-'A'+'a';
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 자연수 뒤집어 배열로 만들기 C++ 풀이 (0) | 2022.07.07 |
---|---|
[프로그래머스] 자릿수 더하기 C++ 풀이 (0) | 2022.07.07 |
[프로그래머스] 시저 암포 C++ 풀이 (0) | 2022.07.07 |
[프로그래머스] 약수의 합 C++ 풀이 (0) | 2022.07.07 |
[프로그래머스] 문자열을 정수로 바꾸기 C++ 풀이 (0) | 2022.07.07 |
Comments