어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀면 "a"가 됩니다. 문자열 s
와 거리 n
을 입력받아 s
를 n
만큼 민 암호문을 만드는 함수, solution을 완성해 보세요.
s
는 알파벳 소문자, 대문자, 공백으로만 이루어져 있습니다.s
의 길이는 8000이하입니다.n
은 1 이상, 25이하인 자연수입니다.s | n | result |
---|---|---|
"AB" | 1 | "BC" |
"z" | 1 | "a" |
"a B z" | 4 | "e F d" |
public class Solution {
public string solution(string s, int n) {
string answer = "";
for(int i = 0; i < s.Length; i++)
{
if(s[i] == ' ')
{
answer += " ";
continue;
}
if(s[i] >= 'a' && s[i] <= 'z' && s[i] + n > 'z')
{
answer += (char)(s[i] + n - 26);
}
else if(s[i] >= 'A' && s[i] <= 'Z' && s[i] + n > 'Z')
{
answer += (char)(s[i] + n - 26);
}
else
{
answer += (char)(s[i] + n);
}
}
return answer;
}
}