백준 9086번: 문자열 / C++ 문제풀이

Been·2023년 11월 9일
0

백준

목록 보기
7/23

한 줄 요약 :

문자열의 끝이 '\0'인 점을 이용하여 끝글자를 구한다.

풀이 :

1. 테스트 케이스 T를 입력받는다.

2. 입력받은 T만큼 for문을 돌린다.

3. c언어 스타일의 문자열 char word[1000]을 입력받는다.

- 문자열의 길이가 1000자보다 작다고 하였으므로 문자열의 크기는 [1000]이 된다.

4. word를 가리키는 char* ptr를 만든다.

5. 변수 int count를 만들고 ptr[count]가 word 문자열의 0을 가리킬 때까지 한 칸씩 이동하도록 while문을 쓴다.

- 문자열의 0은 문자열의 끝(null)을 가리키는 것과 같다.
- 또한 문제에서 문자열에 공백이 없다고 하였으므로 공백의 가능성을 고려하지 않아도 된다.
- 따라서 ptr[count]가 0을 가리키게 되면 ptr[count-1]은 문자열의 마지막 글자를 가리키게 될 것이다.

6. ptr[0]과 ptr[count-1]을 각각 출력한다.

각각 문자열의 첫글자와 마지막 글자이다.

<C++ code>

#include <iostream>
using namespace std;
int main()
{
	int T;
	cin >> T;
	for (int i = 0; i < T; i++)
	{
		char word[1000];
		cin >> word;

		char* ptr = word;

			int count = 0;
		
		while (ptr[count] != 0)
		{
			count++;
		}
		
        cout << ptr[0];
		cout << ptr[count - 1] << endl;

	}
}
profile
콧콧코코콧코콧ㅅ

0개의 댓글