프로그래머스 알고리즘/1단계
(프로그래머스 c++)시저 암호
naeunchan
2020. 4. 24. 10:31
728x90
반응형
알파벳 문자열을 다루는 문제..!
대소문자를 구분하기 때문에 따로 처리를 해줘야 한다.
또한 해당 알파벳 + n이 'z'나 'Z'를 넘어가게 되면 'a'나 'A'부터 시작해서 나머지 수만큼 밀어주면 된다..!
본인은 나머지 연산을 이용하여 알파벳을 밀어주었다.
나머지 연산을 이용하면 대소문자 구분만 해주면 되기 때문에 간단하게 풀 수 있다..!
#include <string>
#include <vector>
#include <iostream>
using namespace std;
string solution(string s, int n) {
string answer = "";
for(int i = 0; i < s.size(); i++)
{
if(s[i] != ' ')
{
if(s[i] >= 'a' && s[i] <= 'z')
answer += (s[i] - 'a' + n) % 26 + 'a';
else
answer += (s[i] - 'A' + n) % 26 + 'A';
}
else
answer += ' ';
}
return answer;
}
728x90
반응형