양쪽위치가 다 ?인 경우는 아무 알파벳을 넣어주고
둘 중 하나만 ?인 경우는 한쪽 알파벳으로 채웠다.
중간에 ?인 경우도 생각해서 알파벳을 넣어준다
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <functional>
#include <string>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <cmath>
#include <bitset>
#define xx first
#define yy second
#define all(x) (x).begin(), (x).end()
using namespace std;
using i64 = long long;
using ii = pair<int, int>;
using ii64 = pair<i64, i64>;
int main()
{
int n;
string s;
cin >> n >> s;
if (n % 2 == 1 && s[n / 2] == '?')
s[n / 2] = 'a';
for (int i = 0; i < n / 2; i++)
{
if (s[i] == '?' && s[n - i - 1] == '?')
{
s[i] = 'a';
s[n - i - 1] = 'a';
}
else if (s[i] == '?')
s[i] = s[n - i - 1];
else if (s[n - i - 1] == '?')
s[n - i - 1] = s[i];
}
cout << s;
return 0;
}
다 풀고 북님 코드 보는데 이런것도 가능하구나
if (s[i] == '?' && s[n - 1 - i] == '?')
s[i] = s[n - 1 - i] = 'a';
'백준' 카테고리의 다른 글
5671 호텔 방 번호 (0) | 2020.09.19 |
---|---|
16926 배열 돌리기 1 (0) | 2020.09.19 |
16935 배열 돌리기 3 (0) | 2020.09.16 |
1012 유기농 배추 (0) | 2020.09.16 |
1094 막대기 (0) | 2020.09.16 |