-
[8892] 팰린드롬BOJ 2022. 1. 2. 06:32
https://www.acmicpc.net/problem/8892
8892번: 팰린드롬
팰린드롬은 어느 방향으로 읽어도 항상 같은 방법으로 읽을 수 있는 단어이다. 예를 들어, civic, radar, rotor, madam은 팰린드롬이다. 상근이는 단어 k개 적혀있는 공책을 발견했다. 공책의 단어는 ICPC
www.acmicpc.net
<문제>
원래 문자열과, 뒤집은 문자열이 같은경우 팰린드롬이다.
std::reverse()로 뒤집힌 문자열을 간단하게 구할 수 있고, 원래 문자열은 string간의 '+'연산으로 구할 수 있다.
입력된 n개의 문자열에 대해서 2중 for를 돌며 i != j인 (i, j)에 대해 v[i] + v[j]가 팰린드롬인지를 판별해준다.
<소스코드>
123456789101112131415161718192021222324252627282930#include <bits/stdc++.h>using namespace std;int t, n;vector<string> v;int main(void) {ios_base::sync_with_stdio(0);cin.tie(0);cin >> t;while (t--) {cin >> n;v.resize(n);int i, j;for (i = 0; i < n; i++) cin >> v[i];for (i = 0; i < n; i++) {for (j = 0; j < n; j++) {if (i == j) continue;string tmp = v[i] + v[j];string cmp = tmp;reverse(cmp.begin(), cmp.end());if (tmp == cmp) {cout << tmp << '\n';goto findAns;}}}cout << 0 << '\n';findAns:;}return 0;}cs 'BOJ' 카테고리의 다른 글
[16930] 달리기 (0) 2022.01.04 [22354] 돌 가져가기 (0) 2022.01.04 [5014] 스타트링크 (0) 2022.01.02 [17070] 파이프 옮기기 1 (0) 2022.01.02 [1574] 룩 어택 (0) 2022.01.01