어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다.
예를 들어 AB
는 1만큼 밀면 BC
가 되고, 3만큼 밀면 DE
가 됩니다.
z
는 1만큼 밀면 a
가 됩니다.
문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요.
제한 조건
- 공백은 아무리 밀어도 공백입니다.
- s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있습니다.
- s의 길이는 8000이하입니다.
- n은 1 이상, 25이하인 자연수입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | public class Solution { public string solution(string s, int n) { string answer = ""; char[] temp = s.ToCharArray(); for(int i = 0; i < temp.Length; i++) { if(temp[i] == ' ') { answer += temp[i].ToString(); continue; } for(int j = 1; j <= n; j++) { if (temp[i] == 'Z') temp[i] = 'A'; else if (temp[i] == 'z') temp[i] = 'a'; else temp[i] = (char)(temp[i] + 1); } answer += temp[i].ToString(); } return answer; } } | cs |
'알고리즘 > C#' 카테고리의 다른 글
C# K번째 (0) | 2019.09.19 |
---|---|
C# 정수 제곱근 구하기 (0) | 2019.09.19 |
C# 하샤드 수 구하기 (0) | 2019.09.19 |
C# 나누어 떨어지는 숫자 배열 (0) | 2019.09.19 |
C# 두 정수 사이의 합 (0) | 2019.09.19 |