IT Study/Old

[SCTF][C] 터미널 파일 검색

ITguny 2021. 3. 8. 01:15

문제를 먼저 살펴보자. 

1. 문제파악 

문제는 다음과 같다.  

 

2. 구현

먼저 주목해야할 키워드는 "파일 이름의 길이는 모두 같다. "와 "?를 적게 사용해야 한다" 이다. 

어떻게 구현을 해야할 지 생각을 해보자, 내가 생각한 방법은 최종 단어를 저장하는 배열을 선언하고, 반복문을 사용하여 단어의 문자를 비교하여, 같은 경우 최종 단어를 저장하는 배열에 값을 넣고, 다를 경우 '?' 를 넣는다. 

#include <stdio.h>

int main(void){
	char name[50][50] = {};
	char arr[50] = {};
	int N;
	int i, j;
	
	scanf("%d", &N);
	
	for(i=0;i<N;i++){
		scanf("%s",name[i]);
	}
	
	for(i=1;i<N;i++){
		for(j=0;name[i][j]!='\0';j++){
			if(name[i][j] == name[i-1][j]){
				arr[j] = name[i][j];
			}
			else{
				arr[j] = '?';
			}
		}
	}
	
	printf("%s\n", arr);
	
	return 0;	
}

설명보단 코드를 보는것이 빠를듯하다.

간단하게 구현을 할 수 있다. 

3. 테스트

성공적으로 구현을 하였다.