입력 되는 모든 문자열의 길이가 같다.
1. 따라서 문자열 길이의 처음부터 끝까지를 비교하는 이중반복문으로 풀었다.
2. 모든 문자열을 한 번에 입력받지 않고, 그때 그때 첫 문자열과 비교하여 답을 내는 방법으로도 풀었다.
#include <bits/stdc++.h>
using namespace std;
int n, h, idx;
vector<string> v;
string input, answer;
bool check_flag = true;
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n;
for(int i = 0; i < n; i++){
cin >> input;
v.push_back(input);
}
int len = v[0].length(); // 문자열 길이 (모두 같다)
int vsize = v.size();
for(idx = 0; idx < len; idx++){
check_flag = true;
for(h = 0; h < vsize-1; h++) { // 모든 문자열의 인덱스 h자리가 같은지.
if (v[h][idx] != v[h + 1][idx]) {
check_flag = false; break;
}
}
check_flag ? answer += v[h][idx] : answer += "?";
}
cout << answer;
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int n, h, idx;
string tempstr, answer;
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n >> answer;
while(n--) {
cin >> tempstr;
for(int i = 0; i < tempstr.size(); i++)
if(tempstr[i] != answer[i]) answer[i] = '?';
}
cout << answer;
return 0;
}
728x90
'알고리즘 > 백준' 카테고리의 다른 글
다리 놓기 백준 1010번 c++ (0) | 2022.02.23 |
---|---|
셀프 넘버 백준 4673 c++ (0) | 2022.02.22 |
저항 백준 1076번 c++ (0) | 2022.02.22 |
크로아티아 알파벳 백준 2941번 c++ (0) | 2022.02.22 |
통계학 백준 2108번 c++ (0) | 2022.02.22 |