반응형
[ 문제 ]
어떤 단어를 뒤에서부터 읽어도 똑같다면 그 단어를 팰린드롬이라고 한다. 'radar', 'sees'는 팰린드롬이다.
수도 팰린드롬으로 취급할 수 있다. 수의 숫자들을 뒤에서부터 읽어도 같다면 그 수는 팰린드롬수다. 121, 12421 등은 팰린드롬수다. 123, 1231은 뒤에서부터 읽으면 다르므로 팰린드롬수가 아니다. 또한 10도 팰린드롬수가 아닌데, 앞에 무의미한 0이 올 수 있다면 010이 되어 팰린드롬수로 취급할 수도 있지만, 특별히 이번 문제에서는 무의미한 0이 앞에 올 수 없다고 하자.
[ 코드 ] - 1. 입력값의 중심을 기준으로 왼쪽과 오른쪽을 비교해서 같으면 yes, 그렇지 않으면 no
while (true)
{
string n = Console.ReadLine();
bool Palindrome = true;
if (n == "0") break;
for (int i = 0; i < n.Length / 2; i++)
{
if (n[i] != n[n.Length - 1 - i])
{
Palindrome = false;
}
}
if(Palindrome)
{
Console.WriteLine("yes");
}
else
{
Console.WriteLine("no");
}
}
[ 코드 ] - 2. 뒤집은 배열을 만들어 입력값과 값이 같으면 yes, 그렇지 않으면 no
while (true)
{
string n = Console.ReadLine();
if (n == "0") break;
string reverse = new string(n.Reverse().ToArray());
string result = n == reverse ? "yes" : "no";
Console.WriteLine(result);
}
첫번째 코드가 더 빠르고 메모리도 적게 든다. 근데 두번째코드가 더 간단하긴하다.
[ 실행화면 ]
문제링크: https://www.acmicpc.net/problem/1259
반응형
'Language > C#' 카테고리의 다른 글
[C#] 백준 11653번 소인수분해 (0) | 2024.02.11 |
---|---|
[C#] 백준 9506번 약수들의 합 (0) | 2024.02.11 |
[C#] 백준 2501번 약수 구하기 (0) | 2024.02.10 |
[C#] 백준 5086번 배수와 약수 (0) | 2024.02.10 |
[C#] 백준 2869번 달팽이는 올라가고 싶다. (0) | 2024.02.09 |