본문 바로가기

알고리즘 · 코딩

[프로그래머스] 이상한 문자 만들기

문제 링크

https://programmers.co.kr/learn/courses/30/lessons/12930

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


C++ 풀이

#include <string>
#include <vector>
using namespace std;

string solution(string s) {
	string answer = "";
	bool IsEven = true; //짝수번째 알파벳일 경우 TRUE
	for (int i = 0; i < s.length(); i++) {
		if (s[i] == ' ') { //공백일 경우
			answer += s[i];
			IsEven = true;
		}
		else if (isalpha(s[i])) {
			if (IsEven)
				answer += toupper(s[i]); //짝수번째 알파벳인 경우 대문자 처리
			else
				answer += tolower(s[i]); //홀수번째 알파벳인 경우 소문자 처리
			IsEven = !IsEven;
		}
		else { //기타 문자인 경우
			answer += s[i];
		}
	}
	return answer;
}

홀수, 짝수 번째인지 판단하는 bool 타입 변수를 두고 풀었다.

 

 

 

반응형