C# 알고리즘 코드카타

45. 시저 암호

잼잼재미 2023. 11. 27. 10:22

 

public class Solution {
    public string solution(string s, int n) {
        string answer = "";
            int num;
            char[] cha = s.ToCharArray();

            for (int i = 0; i < cha.Length; ++i)
            {
                if (cha[i] == ' ')
                {
                    continue;
                }
                else
                {
                    num = (int)cha[i];

                    if(num >= 65 && num <= 90)
                    {
                        if(num + n >= 91)
                        {
                            num += n - 26;
                        }
                        else
                        {
                            num += n;
                        }
                    }
                    else if(num >= 97 && num <= 122)
                    {
                        if(num + n >= 123)
                        {
                            num += n - 26;
                        }
                        else
                        {
                            num += n;
                        }
                    }

                    cha[i] = (char)num;
                }
            }

            answer = new string(cha);
            return answer;
    }
}

아스키 코드표를 참고해서 풀이했다. string 문자열을 char 배열로 바꾸고 int로 형변환해서 연산했다.

'C# 알고리즘 코드카타' 카테고리의 다른 글

47. 문자열 내 마음대로 정렬하기  (1) 2023.11.29
46. 숫자 문자열과 영단어  (1) 2023.11.28
44. 최소직사각형  (0) 2023.11.24
43. 크기가 작은 부분문자열  (0) 2023.11.23
42. 삼총사  (0) 2023.11.23