모든 문자열의 길이가 같기 때문에,
맨 처음 받는 문자열을 후보로 두고
2중 for문을 돌며 두 번째 문자열부터 한 char씩 비교하여 다를 경우 ?로 치환한다.
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
int n;
cin >> n;
vector<string> v(n);
for (int i = 0; i < n; i++) cin >> v[i];
string ans = v[0];
for (int i = 1; i < n; i++) {
for (int j = 0; j < v[i].length(); j++) {
if (ans[j] == '?') continue;
if (v[i][j] != ans[j]) ans[j] = '?';
}
}
cout << ans;
return 0;
}
알테기..
하기 싫어도 keep going~