[백준] 1032: 명령 프롬프트

5923 단어 Problem SolvingCC

문제

[Bronze_I] 정답 비율 53%

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

생각

  1. 파일 이름의 개수 N회 입력받기
  2. N회 반복: 파일 이름 입력받아 배열에 저장
    2-1. N은 50보다 작거나 같은 자연수, 파일 이름의 길이는 최대 50이므로 파일 이름을 입력받을 배열은 50글자를 저장할 공간이 50개 있는 2차원 배열
  3. N-1회(파일의 수-1) 반복: 문자열(파일 이름)의 길이 만큼 반복하며 각 글자가 같은지 확인
    3-1. 다르다면 '?' 대입
  4. 문자열 출력

배운 점

  • 50글자를 저장할 공간이 50개 있는 2차원 배열 생성 : arr[50][51] 해야함 (문자열은 배열의 마지막에 '\n'이 들어가야 하므로)
    오랜만에 C언어로 문제를 풀었더니 너무 쉬운 부분에서 실수함. 잊지 말 것.

코드

#include <stdio.h>
#include <string.h>

int main(){ 
    int num=0;
    int length=0;
    int i=0;
    char input[50][51];
    char ans[51];

    scanf("%d", &num);
    for(i=0; i<num; i++)
        scanf("%s", input[i]);

    length = strlen(input[0]);
    strcpy(ans, input[0]);
    for(int i=1; i<num; i++)
        for(int j=0; j<length; j++)
            if(ans[j]!='?' && ans[j]!=input[i][j])
                ans[j] = '?';
    printf("%s", ans);

    return 0;
}

좋은 웹페이지 즐겨찾기