하나의 문자열이 들어가면, 가장 마지막 단어의 글자수를 내보내는 문제이다.

Hello World의 경우 world가 5글자이니 5를 return하면 된다.

2번 틀렸는데, 문자 뒤에 공백을 넣는 것을 생각하지 못했고, 아예 문자열이 없는 상태로 들어오는건 생각을 했어도 스페이스만 있는 상태로 들어오는건 생각하지를 못했어서 틀렸다.



int lengthOfLastWord(string s)
{
	int nLOffset = s.find_last_not_of(' ');
	int nOffset = s.rfind(' ', nLOffset);

	if (nLOffset == -1)
		return 0;
	else
		return nLOffset - nOffset;
}



그래도 성능 자체는 좋은편에 속하는지라 괜찮은 것 같다.

char array로 문제를 냈더라면 알고리즘적인 요소를 많이 볼 수 있을 것 같은데, string 문제 대부분이 그냥 string 클래스를 사용하는 형식이라 api를 얼마나 잘 쓰는지로 보이는게 좀 걸린다.

저작자 표시 비영리 변경 금지
신고

'Programming > C/C++' 카테고리의 다른 글

[LeetCode] 58. Length of Last Word  (0) 18:29:44
[LeetCode] 53. Maximum Subarray  (0) 18:10:29
[LeetCode] 617. Merge Two Binary Trees  (0) 2017.11.07
[LeetCode] 498. Diagonal Traverse  (0) 2017.11.06
[LeetCode]342. Power of Four  (0) 2017.11.06
[LeetCode]Reverse Integer2  (0) 2017.11.06
by 가우초 2017.11.21 18:29