728x90
반응형
1032번: 명령 프롬프트
문제
https://www.acmicpc.net/problem/1032
풀이
입력받은 문자열들 중 공통되는 문자만 출력하고 나머지는 ?로 출력하는 문제다.
- 모든 문자열을 입력받아 배열에 넣어준다.
- for문으로 첫 번째 문자열의 각 index의 문자를 나머지 문자열들의 같은 index의 문자와 비교한다.
- 모든 문자열에서 해당 index에 문제가 없다면 그 문자를 정답 배열에 추가한다.
- 한 번이라도 다르다면 for문을 탈출하고 정답 배열에 ?를 추가한다.
- 정답 배열의 원소들을 출력한다.
코드
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
int n;
cin >> n;
vector<string> v(n);
vector<char> ans;
for (int i = 0; i < n; i++)
cin >> v[i];
for (int i = 0; i < v[0].size(); i++) {
int err = 0;
string s = v[0];
for (int j = 0; j < n; j++)
if (s[i] != v[j][i]) {
err++;
break;
}
if (err)
ans.push_back('?');
else
ans.push_back(s[i]);
}
for (char c : ans)
cout << c;
return 0;
}
728x90
반응형
'Problem Solving > BOJ' 카테고리의 다른 글
[백준 / BOJ] C++ 11660 구간 합 구하기 5 (0) | 2023.02.07 |
---|---|
[백준 / BOJ] C++ 1037 약수 (0) | 2023.02.07 |
[백준 / BOJ] C++ 1021 회전하는 큐 (0) | 2023.02.07 |
[백준 / BOJ] C++ 1018 체스판 다시 칠하기 (0) | 2023.02.07 |
[백준 / BOJ] C++ 1012 유기농 배추 (0) | 2023.02.07 |