반응형
풀이
처음에는 isLetter를 사용해서 풀려고 했다. 아스키코드를 사용해서 풀려고 하다보니 대문자와 소문자를 나누어서 풀어야 겠다는 생각이 들었다.
01 소문자
if (Char.IsLower(c))
{
num = (int)c + 13;
if (num > 122) num -= 26;
sb.Append((char)num);
continue;
}
02 대문자
if(Char.IsUpper(c))
{
num = (int)c + 13;
if (num > 90) num -= 26;
sb.Append((char)num);
continue;
}
03 그 외
else
{
sb.Append(c);
continue;
}
코드 전문
using System;
using System.Text;
namespace baek2
{
class Program
{
static void Main(string[] args)
{
string word = Console.ReadLine();
StringBuilder sb = new StringBuilder();
foreach(char c in word)
{
int num = 0;
if (Char.IsLower(c))
{
num = (int)c + 13;
if (num > 122) num -= 26;
sb.Append((char)num);
continue;
}
if(Char.IsUpper(c))
{
num = (int)c + 13;
if (num > 90) num -= 26;
sb.Append((char)num);
continue;
}
else
{
sb.Append(c);
continue;
}
}
Console.WriteLine(sb.ToString());
}
}
}
반응형
'코딩테스트 준비 > 백준 C#' 카테고리의 다른 글
백준 C# - 11656 +) 풀이 (0) | 2023.10.27 |
---|---|
백준 C# - 10842 +) overflow문제 (0) | 2023.10.27 |
백준 C# - 2743 (0) | 2023.10.27 |
백준 C# - 10820 +)풀이 (0) | 2023.10.23 |
백준 C# - 10809 (0) | 2023.10.23 |
댓글