한 줄 요약 :
문자열의 끝이 '\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;
}
}