본문 바로가기

알고리즘/BOJ

[Python&C++]1032-명령 프롬포트

https://www.acmicpc.net/problem/1032

 

1032번: 명령 프롬프트

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

www.acmicpc.net

같은인덱스에 있는 문자들이 같아야만 알파벳을 넣을 수 있으므로, for문을 돌려서 같지않다는 결과가 나오지 않는 알파벳만 패턴에 넣어주고, 한번이라도 같은인덱스에서 다른 문자가 나오면, ?를 패턴에 넣어준다.

Python

inputs = []
for _ in range(int(input())):
    inputs.append(input())

pattern = ''
for i  in range(len(inputs[0])):
    character = inputs[0][i]
    for k in range(len(inputs)):
        if inputs[0][i] != inputs[k][i]:
            character = '?'
            break
    pattern += character
print(pattern)

C++

#include <iostream>

int main()
{
    char inputs[51][51], pattern[51], character;
    int loopNum;
    int j = 0;
    std::cin >> loopNum;
    for(int i = 0; i < loopNum; i++)
    {
        std::cin >> inputs[i];
    }
    for(j = 0; j < 50; j++)
    {
        character = inputs[0][j];
        for(int k = 0; k < loopNum; k++)
        {
            if(inputs[0][j] != inputs[k][j])
            {
                character = '?';
                break;
            }  
        }
        pattern[j] = character;
    }
    pattern[j+1] = '\0';
    std::cout << pattern;
    return 0;
}

Python만 했었던 터라, C++은 익숙하지가 않다.

'알고리즘 > BOJ' 카테고리의 다른 글

[Python]1194-달이 차오른다, 가자.  (0) 2020.08.10
[Python&C++]7868-해밍 수열  (0) 2020.07.11
[Python&C++]1037-약수  (0) 2020.05.19
[Python&C++]1026-보물  (0) 2020.05.18
[Python&C++]1004-어린 왕자  (0) 2020.05.18
[Python&C++]1003-피보나치 함수  (0) 2020.05.18
[Python&C++]1002-터렛  (0) 2020.05.18
[Python&C++]2490-윷놀이  (0) 2020.05.18