void deleteDuplicates(char array[], int& size)
{
for (int i = 0; i < size; i++)
{
for (int j = i + 1; j < size; j++)
{
if (array[i] == array[j])
{
for (int t = j; t < size-1; t++)
{
array[t] = array[t + 1];
}
size--;
j--;
}
}
}
string imsiarray = array;
imsiarray = imsiarray.substr(0, size);
strcpy(array, imsiarray.c_str());
}
라는 함수인데
string 에 Mary had a little lamb. its fleece was whie as snow. 있고 함수에 집어 넣으면
다른 string에
Mary hdlitemb.sfcwno 처럼 동일한 문자 다 쳐내고 한개만 남겨내는 매커니즘이라는데 이해가 안됨..
한글자씩 비교해보면서 같은 글자나오면 나머지 앞으로 땡기는거잖아. 근데 임시어레이 눈에 거슬리네 ㅋㅋ
드디어 반복문안에 있는 내용을 이해했는데 마지막 3줄 의미를 모르겠다
마지막 줄 3줄은 뭐냐? 임시어레이있는데?
근데 마지막에 임시어레이있는 3줄이 필요한지 싶기도 하다. 그냥 array[size] = '\0'; 해도 될거 같은데...
string 임시어레이 선언부터 시작부터 모르겠음
array의 길이를 size의 길이로 줄이는 거임. 동일한 문자 쳐낸 만큼 길이가 줄었으니, 쳐낸만큼 문자열의 길이를 줄이는거.. 쳐내고 남은 길이가 size이니까 말야.
정말 감사합니다
위에 array의 길이를 줄이는게 아니라, array에 담긴 문자열의 길이를 줄이는거... 밥 먹으면서 답글 쓰느라 이해바람. 암튼 수고하삼.