관리 메뉴

cococo-coding

[C++ 풀이] 1032번. 명령 프롬프트 본문

[BOJ] 코드 모음/C++_learning 문제집

[C++ 풀이] 1032번. 명령 프롬프트

_dani 2024. 1. 21. 16:26

풀이

첫번째 입력받는 문자열을 steady로 받고, result문자열에 복사해둔다.

result문자열은 추후에 출력될 결과인데, 앞으로 입력받을 문자열(tmp)들과 계속 비교해서 다른 부분만 '?'로 치환할 것이다.

 

코드

#include <iostream>
#include <vector>
using namespace std;

/*
    1. 파일개수 n을 입력받는다.
    2. n개의 파일을 입력받는다.
    3. 패턴을 찾아 출력한다.
*/
int main() {
    //1
    int n;
    cin >> n;

    //2 첫번째 문자열을 기준으로 
    string steady;
    cin >> steady;
    string result = steady; //결과 문자열에 첫번째 문자열 넣어줌

    //cout << "steady 문자열의 길이: " << steady.length() << '\n';
    int len = steady.length();
    
    for(int i=1; i<n; i++) {
        string tmp;
        cin >> tmp;

        for (int j = 0; j < len; j++) {
            if (steady[j] != tmp[j])
                result[j] = '?'; //다르면 ? 넣어줌                   
        }
        
    }
    cout << result << '\n';
    return 0;
}