알고리즘 모음(C++)

백준 1032 - 명령 프롬프트(C++) 본문

백준

백준 1032 - 명령 프롬프트(C++)

공대생의 잡다한 사전 2023. 5. 6. 23:18

문제 링크입니다. https://www.acmicpc.net/problem/1032

 

1032번: 명령 프롬프트

첫째 줄에 파일 이름의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에는 파일 이름이 주어진다. N은 50보다 작거나 같은 자연수이고 파일 이름의 길이는 모두 같고 길이는 최대 50이다. 파일이름은

www.acmicpc.net

N개의 문자열이 주어질 때 겹쳐지는 문자를 확인할 수 있는지 물어보는 문제입니다.

N개의 문자 중, 겹치는 문자는 그대로, 다른 문자는 ?로 표시해야합니다.

따라서 1~N개의 문자열을 비교해, 다른 문자가 나타날 때마다 ?로 바꿔주면 됩니다.

 

 

자세한 것은 코드를 참고해주세요.

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#include <cstring>
#include <cmath>
#define P pair<int, int>
#define F first
#define S second
#define INF 987654321

using namespace std;

int N;
string arr[51];

void solve(){
    string ans;
    ans = arr[1];
    for(int i = 2; i <= N; i++){
        for(int j = 0; j < arr[i].size(); j++){
            if(ans[j] != arr[i][j]) ans[j] = '?';
        }
    }
    cout << ans;
}

int main(){
    cin.tie(0);
    cout.tie(0);
    cin >> N;
    for(int i = 1; i <= N; i++) cin >> arr[i];
    solve();
    return 0;
}

 

 

질문 및 조언은 댓글을 남겨주세요

'백준' 카테고리의 다른 글

백준 10798 - 세로읽기(C++)  (0) 2023.05.06
백준 1100 - 하얀 칸(C++)  (0) 2023.05.06
백준 10988 - 팰린드롬인지 확인하기(C++)  (0) 2023.05.06
백준 11437 - LCA(C++)  (0) 2023.04.25
백준 1058 - 친구(C++)  (1) 2023.04.25