안경잡이 구루루

백준 9086 (문자열) [C programming] [Implemention/구현] 본문

C언어(C programming)/문제풀이(백준,BaekJoon)

백준 9086 (문자열) [C programming] [Implemention/구현]

구루루(gururu) 2023. 11. 18. 17:29
반응형

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

 

9086번: 문자열

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

www.acmicpc.net

 


나:

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

int main() {
	int i, t, p;
	scanf("%d", &t);
	for (i = 0; i < t; i++) {
		char s[1000];
		scanf("%s", &s);
		p = strlen(s);
		printf("%c%c\n", s[0], s[p-1]);
	}
	return 0;
}

완성된 코드는 위와같다.

VS 에서 scanf() 오류를 막기 위해 #define _CRT_SECURE_NO_WARNINGS를 선언

그리고 나중에 strlen() 함수를 사용하기 위해 <string.h> 헤더 파일 #include 해줌


우선 반복문에 사용할 변수 i , 테스트 케이스 개수 t 그리고 마지막 글자의 위치를 담을 변수 p 를 정수형으로 선언해준다.

첫 줄에 scanf() 함수를 이용해 테스트 케이스의 개수를 입력받는다.

이후 i 를 이용한 반복문은 t 번만큼 반복한다. 이때 반복할 때 마다 새로운 문자열을 받기 위해 최대길이 1000인 배열 변수 s[1000]를 선언.

한 번 반복 할때마다 scanf() 를 통해 문자열을 받고 strlen() 함수를 이용해 전체 문자열 길이를 p 변수에 넣는다.

최종적으로 문자열의 첫 글자는 인덱스 0 에  그리고 마지막 글자는 문자열 길이 -1 인 인데스에 저장 되어있기 때문에 s[0], s[p-1]출력시켜준다.

반응형