[Leetcode] 58. Length of Last Word
Algorithm2021. 7. 26. 19:46
반응형
Identifying the Problem
띄어쓰기 뒤에 있는 문자열의 길이를 리턴한다.
제한조건
- 1 <= s.length <= 10^4
- s consists of only English letters and spaces ' '
Organizing thoughts
0. 애초에 문자열 길이가 1인 경우는 결과가 두 개이기에 처리한다.
1. 문자열 길이만큼 반복한다.
2. 글자수를 count 하다
2-1 스페이스바를 만나면 count를 0으로 초기화한다.
--- 여기까지는 모든 test case를 만족했지만,
HELLO WORLD_ _ 처럼 맨 뒤에 띄어쓰기 두 개를 써리면 다 초기화되어버린다.
또한 A _ 를 해도 1을 RETURN 하는 것이 아니라 0을 리턴한다.
이 문제를 어떻게 해결해야 할까?
3. count 가 0으로 초기화되기 전에 예비로 count를 저장해두면 된다!
하지만 count 를 막 저장하는 것이 아니라, count가 0보다 클 때 저장해야 한다.
매 시도마다 count를 예비로 저장해두면 의미가 없기 때문이다.
Sourcecode
int lengthOfLastWord(char * s){
int count = 0;
int i=0;
int n = strlen(s);
int temp = 0;
if(n==1)
{
if(*s==' ') return 0;
else return 1;
}
while( i<n )
{
if( *(s+i)==' ' )
{
if(i==n-1) break;
count=0;
}
else
count++;
if(count>0) temp=count;
i++;
}
return temp;
}
반응형
'Algorithm' 카테고리의 다른 글
[Leetcode] 67. Add Binary (0) | 2021.07.27 |
---|---|
[Leetcode] 66. Plus One (0) | 2021.07.26 |
[Leetcode] 53. Maximum Subarray (0) | 2021.07.25 |
[Leetcode] 35. Search Insert Position (0) | 2021.07.25 |
[Leetcode] 28. Implement strStr() (0) | 2021.07.25 |
댓글()