코딩/알고리즘
002. 시저 암호
Hoooon22_코딩거북이_
2021. 4. 8. 19:11
728x90

- 사용 언어 : C#
- 체감 난이도 : 쉬움
- 활용 : 아스키코드, foreach
<작성한 코드>
public string solution(string s, int n)
{
string answer = "";
foreach (char c in s)
{
if (c == ' ') // 공백은 그대로
answer += " ";
else // 그 외 (알파벳)
{
if (c + n > 122 || (c < 91 && c + n > 90))
answer += Convert.ToChar(c + n - 26);
else
answer += Convert.ToChar(c + n);
}
}
return answer;
}
다른 사람들의 코드를 보면 if문에 알파벳을 직접 넣었다. 나는 뭔가 좋은 방법이 있을 것 같아서 다른 걸로 했지만, 역시 그 방법이 제일 보기 좋은거 같다..
그래도 역시 코드 짧은 것이 더 좋다 :)
int lowerMax = (int)'z';
int upperMax = (int)'Z';
// OR
int _lower_cycle = 'z' - 'a' + 1;
int _upper_cycle = 'Z' - 'A' + 1;
위와 같이 변수를 설정해주는 것도 아주 좋은 방법인 것 같다.