프로그래머스 문제풀이/LEVEL 1
[C++] 프로그래머스 문제풀이 LEVEL 1 시저 암호
코딩준우
2023. 7. 2. 22:29
https://school.programmers.co.kr/learn/courses/30/lessons/12926?language=cpp
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
#include <bits/stdc++.h>
using namespace std;
string solution(string s, int n)
{
string answer = "";
int num;
char ch;
for (int i = 0; i < s.size(); ++i)
{
// 97 122
if (s[i] >= 'a' && s[i] <= 'z')
{
num = (s[i] + n) % 'z';
if (num < 'a')
{
if (num == 0)
{
answer += 'z';
}
else
{
ch = 'a' + num - 1;
answer += ch;
}
}
else
{
ch = num;
answer += ch;
}
}
// 65 90
else if (s[i] >= 'A' && s[i] <= 'Z')
{
num = (s[i] + n) % 'Z';
if (num < 'A')
{
if (num == 0)
{
answer += 'Z';
}
else
{
ch = 'A' + num - 1;
answer += ch;
}
}
else
{
ch = num;
answer += ch;
}
}
else
{
answer += s[i];
}
}
return answer;
}