본문 바로가기

코딩테스트/프로그래머스

[Level 1][C++] 시저 암호

#include <string>
#include <cstring>
#include <vector>

using namespace std;

string solution(string s, int n) {

     char* arr = new char[s.length() + 1];
     strcpy(arr, s.c_str());
     for (int i = 0; i < s.length(); i++)
     {
          if (arr[i] != ' ')
          {
               if (arr[i] >= 'A' && arr[i] <= 'Z')
               {
                    if (arr[i]+n > 'Z')
                         arr[i] -= ('Z'-'A'+1);
                    arr[i] += n;
               }
               else
               {
                    if (arr[i]+n > 'z')
                         arr[i] -= ('z'-'a'+1);
                    arr[i] += n;
               }
          }
     }
     string answer(arr);
     return answer;
}