반갑습니다!

[프로그래머스] 시저 암호 본문

알고리즘 문제 풀이

[프로그래머스] 시저 암호

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

풀이

기존의 문자에 n을 더해주는데 이 때 'z' 혹은 'Z'보다 커질 수 있으므로 예외처리를 신경써서 구현하면 된다.

코드

#include <string>
#include <vector>

using namespace std;

string solution(string s, int n) {
    for(int i=0; i<s.length(); i++){
        char c = s[i];
        if(c == ' ') continue;
        else if('a' <= c && c <= 'z'){
            if(c + n > 'z') s[i] = 'a' + (c + n - 'z' - 1);
            else s[i] += n;
        }
        else if('A' <= c && c <= 'Z'){
            if(c + n > 'Z') s[i] = 'A' + (c + n - 'Z' - 1);
            else s[i] += n;
        }
    }
    return s;
}