반응형
문자열 처리 문제였습니다.
풀이방법
1. 입력 : string 1차원 배열 word를 선언한 뒤 n개의 단어를 입력받습니다.
2. 비교 : word의 단어들 중 두 쌍을 뽑아 한쪽을 뒤집어 만약 같다면 비밀번호이므로 출력한 뒤 프로그램을 종료합니다. 이 문제는 조합이 아닙니다. 즉 a,b를 비교했다고 넘어가면 안되며 b,a도 비교해 줘야 맞습니다. 한쪽만 뒤집기 때문에 다른쪽도 나중에 뒤집어서 비교해야됩니다.
Code
#include <bits/stdc++.h>
using namespace std;
int n;
string word[101];
string getOppositeWord(string w){
string tmp = "";
for(int i = 0; i < w.size(); i++){
tmp += w[w.size()-1-i];
}
return tmp;
}
int main(){
cin >> n;
for(int i = 0; i < n; i++) cin >> word[i];
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
if(word[i] == getOppositeWord(word[j])){
int size = word[i].size();
cout << size << ' ' << word[i][size/2];
return 0;
}
}
}
}
'Algorithm > String' 카테고리의 다른 글
(C++) - 백준(BOJ) 1213번 : 팰린드롬 만들기 답 (0) | 2021.03.22 |
---|---|
(C++) - 백준(BOJ) 3029번 : 경고 답 (0) | 2021.03.19 |
(Javascript) - 프로그래머스(연습문제) : 다음 큰 숫자 (0) | 2021.03.05 |
(c++) - 프로그래머스(2021 KAKAO BLIND RECRUITMENT) : 신규 아이디 추천 (0) | 2021.03.05 |
(C++) - 프로그래머스(연습문제) : 시저 암호 (0) | 2021.03.04 |