https://www.acmicpc.net/problem/8892
문제
팰린드롬은 어느 방향으로 읽어도 항상 같은 방법으로 읽을 수 있는 단어이다. 예를 들어, civic, radar, rotor, madam은 팰린드롬이다.
상근이는 단어 k개 적혀있는 공책을 발견했다. 공책의 단어는 ICPC 문제가 저장되어 있는 서버에 접속할 수 있는 비밀번호에 대한 힌트이다. 비밀번호는 k개의 단어 중에서 두 단어를 합쳐야 되고, 팰린드롬이어야 한다. 예를 들어, 단어가 aaba, ba, ababa, bbaa, baaba일 때, ababa와 ba를 합치면 팰린드롬 abababa를 찾을 수 있다.
단어 k개 주어졌을 때, 팰린드롬을 찾는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 공책에 적혀져있는 단어의 수 k(1 ≤ k ≤ 100)가 주어진다. 다음 k개 줄에는 a부터 z까지 알파벳으로 이루어진 단어가 한 줄에 하나씩 주어진다. 모든 단어 길이의 합은 10,000보다 작거나 같다.
출력
각 테스트 케이스마다 팰린드롬을 출력한다. 만약, 가능한 팰린드롬이 여러 가지라면 아무거나 출력한다. 팰린드롬을 만들 수 없는 경우에는 0을 출력한다.
해결방안 ->단어의 개수가 최대 100개여서 문자열 배열에 입력받은 단어를 넣고 2중 루프를 돌면서 단어2개를 더하고 단어2개 더한 문자열이 팰린드롬인지 확인해준다
reverse함수 -> algorhtim 해더파일에 포함되어 있으며 문자열을 뒤집어 주는 함수이다.
reverse(시작반복자,종료반복자)를 갖는다.
전체 소스 코드->
'알고리즘' 카테고리의 다른 글
백준 21921 블로그 C++ (0) | 2022.03.22 |
---|---|
슬라이딩 윈도우 알고리즘 (0) | 2022.03.22 |
백준 주유소 C언어 (0) | 2022.03.20 |
백준 1946 신입사원 C언어 (0) | 2022.02.28 |
백준 6550 C언어 (0) | 2022.02.26 |