알고리즘 코드카타

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 |