[C++] 백준(BOJ) - 8892번 팰린드롬

2022. 2. 28. 00:27

문제

https://www.acmicpc.net/problem/8892

 

8892번: 팰린드롬

팰린드롬은 어느 방향으로 읽어도 항상 같은 방법으로 읽을 수 있는 단어이다. 예를 들어, civic, radar, rotor, madam은 팰린드롬이다. 상근이는 단어 k개 적혀있는 공책을 발견했다. 공책의 단어는 ICPC

www.acmicpc.net

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int n;
string s[101];
bool isPal(string s){
  for(int i=0;2*i<s.size();i++){
    if(s[i]!=s[s.size()-i-1])
      return false;
  }
  return true;
}
void solve(){
  cin >> n;
  for(int i=0;i<n;i++){
    cin >> s[i];
  }
  for(int i=0;i<n;i++){
    for(int j=0;j<n;j++){
      if(i==j) continue;
      if(isPal(s[i]+s[j])){
        cout << s[i] + s[j] << endl;
        return;
      }
    }
  }
  cout << '0'<<'\n';
}
int main(){
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  int k;
  cin >> k;
  while(k--){
    solve();
  }
  return 0;
}

Brute Force 방식으로 접근하여 풀이하였다.

팰린드롬인지 아닌지를 판별하는 isPal 함수를 작성하고,

모든 문자열을 입력받아 합쳐서 그 중 팰린드롬이 되는 경우를 출력하였다.

 

BELATED ARTICLES

more