WalkerJei's Lifelog

백준알고리즘 10988번 팰린드롬인지 확인하기 C# 본문

소프트웨어 개발/코딩테스트(기성 문제)

백준알고리즘 10988번 팰린드롬인지 확인하기 C#

WalkerJei 2025. 3. 14. 08:52

세부 정보

  • 사이트: 백준알고리즘
  • 번호: 10988
  • 문제명: 팰린드롬인지 확인하기
  • 언어: C#
  • 분류: 구현, 문자열
  • 비고: 

 

문제

알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 이 단어가 팰린드롬인지 아닌지 확인하는 프로그램을 작성하시오.

팰린드롬이란 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어를 말한다. 

level, noon은 팰린드롬이고, baekjoon, online, judge는 팰린드롬이 아니다.

 

입력

첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다.

 

출력

첫째 줄에 팰린드롬이면 1, 아니면 0을 출력한다.

 

풀이

ToCharArray()는 문자열을 문자 단위로 쪼갠 후 배열로 만들어 저장한다.

Array.Reverse(alphabet)는 alphabet  문자 배열의 내용을 역순으로 정렬한다.

new string(alphabet)은 문자 배열 alphabet의 내용물들을 붙여서 문자열로 만든다.

// 문자열을 입력받는다
string input = Console.ReadLine();
// 알파벳을 저장할 문자 배열을 생성한다
char[] alphabet = new char[input.Length];
// 입력한 문자열을 알파벳 단위로 쪼개서 배열에 저장한다.
alphabet = input.ToCharArray();
// 배열에 저장된 알파벳 순서를 역순으로 바꾼다.
Array.Reverse(alphabet);
// 역순이 된 알파벳 문자 배열의 알파벳들을 합치고 output에 저장한다.
string output = new string(alphabet);
// input과 output이 같으면 1, 아니면 0을 출력한다.
if (input == output) Console.WriteLine("1");
else Console.WriteLine("0");

 

후기

Array.Reverse()를 알고 있었던 거 같은데 제대로 써 보지를 못한 문제였다. 까먹지 않으려면 복습이 중요하다.

또한, 문제를 푸는 도중 다른 일이 생겨서 3분 정도 남겨놓고 문제 풀기를 중단해야 했다. 산업기능요원 구직 활동 중에 코딩테스트를 응시해 본 적도 있다. 그때 기억하기로는 모니터는 1개만 사용할 수 있고 웹캠의 카메라 등을 활성화해야 했다. 만약 코딩테스트를 응시해야 한다면 시험 전에 화장실 등의 용무는 미리 해결하고 올 것을 강력히 권하고 싶다.