코딩/백준 문제 (브론즈)

[백준/9086/C언어] 문자열 _ 풀이

룻밤 2023. 8. 12. 17:54

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

 

9086번: 문자열

입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 한 줄에 하나의 문자열이 주어진다. 문자열은 알파벳 A~Z 대문자로 이루어지며 알파벳 사이에 공백은 없으

www.acmicpc.net


풀이

#include <stdio.h>

int main() {
	int t;			// 테스트케이스
	char s[1000];	// 문자열은 999자까지
	int i, j;		

	scanf("%d", &t);
	for (i = 0; i < t; i++) {		// 테스트케이스만큼 반복
		scanf("%s", &s);			// 문자열 입력
		j = 0;						// 초기화
		while (s[j] != '\0') {		// 문자열 끝까지 탐색
			if (s[j] == s[0])		// 첫번째문자
				printf("%c", s[j]);	// 출력
			if (s[j+1]=='\0')		// 마지막문자+1은 널문자(\0)이므로
				printf("%c", s[j]);	// 마지막문자 출력
			j++;
		}
		printf("\n");
	}
	
	return 0;
}

strlen()함수를 통해 끝문자를 찾는 방법도 있다.

 

필자는 문자열을 처음부터 끝까지 탐색해서 출력하는 방법을 이용했다.