혜랑's STORY

[HackerRank] Caesar Cipher 본문

2021 SISS 21기 활동/여름방학 C언어

[HackerRank] Caesar Cipher

hyerang0125 2021. 7. 24. 12:36

# 문제

# 풀이

char* caesarCipher(char* s, int k) {
    for(int i=0; i<strlen(s); i++){
        if(s[i]>='A'&&s[i]<='Z')
            s[i] = (s[i] - 'A' + k) % 26 + 'A';
        else if(s[i]>='a' && s[i]<='z'){
            s[i] = (s[i] - 'a' + k) % 26 + 'a';
        }
    }

    return s;
}
  • 시저 암호 알고리즘은 다음과 같다.

  • 해당 문제에서는 암호화된 문자열을 반환해야 한다. 즉, En(x) = (x + n) mod 26을 이용하여 코드를 작성할 것이다.
  • 이때 대문자와 소문자에 따라 아스키코드 값이 다르므로 둘을 구분하고 이 외의 특수 기호는 바꾸지 않는다는 것을 if문을 이용하여 작성해 주었다.

 

# 결과

 

'2021 SISS 21기 활동 > 여름방학 C언어' 카테고리의 다른 글

[HackerRank] CamelCase  (0) 2021.07.31
[HackerRank] Pangrams  (0) 2021.07.24
[HackerRank] Birthday Cake Candles  (0) 2021.07.18
[HackerRank] Sherlock and Divisiors  (0) 2021.07.18
[HackerRank] Bill Division  (0) 2021.07.11