728x90
반응형
1032번: 명령 프롬프트
문제
https://www.acmicpc.net/problem/1032
1032번: 명령 프롬프트
첫째 줄에 파일 이름의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에는 파일 이름이 주어진다. N은 50보다 작거나 같은 자연수이고 파일 이름의 길이는 모두 같고 길이는 최대 50이다. 파일이름은
www.acmicpc.net
풀이
입력받은 문자열들 중 공통되는 문자만 출력하고 나머지는 ?로 출력하는 문제다.
- 모든 문자열을 입력받아 배열에 넣어준다.
- 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 |