개발일지

2024.02.07 TIL

과일바구니♡ 2024. 2. 7. 21:00

알고리즘 코드카타

class Solution {
    fun solution(s: String, n: Int): String {
    var answer = ""

    for(char in s){
        if(char == ' ') answer+=' ' //공백이면 공백을 answer에 더하는 것
        else{
            if(char in 'a'..'z'){
                answer+='a'+(char.code-'a'.code+n)%26  //아스키 코드값에서 알파벳(소문자)의 값을 넘어가면 다시 알파벳이 되도록 하는 것
            }else if(char in 'A'..'Z'){
                answer+='A'+(char.code-'A'.code+n)%26  //아스키 코드값에서 알파벳(대문자)의 값을 넘어가면 다시 알파벳이 되도록 하는 것
            }
        }
    }

    return answer //answer 출력
    }
}
시저 암호에서 중요한 것은 단순히 아스키 코드값에서 n값(거리)를 더함으로써 구성하면 알파벳의 범위를 벗어나서 이상한 값이 출력될 경우의 수가 있기 때문이다. 따라서 26을 나눈 나머지를 이용해서 알파벳을 벗어날 수 없도록 만드는 것이 중요하다.

 

라고 합니다.

 

2)주특기 플러스 복습과제

  과제를 하고있는 중입니다...     

'개발일지' 카테고리의 다른 글

2024.02.13 TIL  (0) 2024.02.13
2024.02.08 TIL  (0) 2024.02.08
2024.02.06 TIL  (0) 2024.02.06
2024.02.05 TIL  (0) 2024.02.05
2024.02.02 TIL  (0) 2024.02.02