반응형
코딩하기 전 생각하기
/*
접미사 문자열을 생성한다.
맨 앞 문자열을 나머지 문자열과 비교하면서 접미사를 구한다.
맨 앞 문자열의 0부터 i까지 부분을 tmp이라고 하자.
substr 함수를 사용하자.
tmp가 나머지 문자열의 앞 부분과 다르면 이전 단계까지의 접미사 문자열을 반환한다.
아니라면, 접미사 문자열에 tmp를 저장한다.
tmp를 반환한다.
*/
코드
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
string pre = "";
for ( int i = 0; i < strs[0].length(); i++ ) {
string tmp = strs[0].substr(0, i+1);
for ( int j = 1; j < strs.size(); j++ ) {
if ( i == strs[j].size() || strs[j].substr(0, i+1) != tmp )
return pre;
}
pre = tmp;
}
return pre;
}
};
느낀점
비슷한 문제를 파이썬으로 풀어봤었는데 이번에는 substr를 이용해서 C++로 풀어봤다.
(주의) 기록용으로 작성한 글입니다. 코드가 허접하거나 알고리즘의 효율이 낮을 수 있습니다.
댓글 환영합니다!
반응형
'Algorithm > LeetCode' 카테고리의 다른 글
[LeetCode] 342. Power of Four (C++) (0) | 2021.07.29 |
---|---|
[LeetCode] 860. Lemonade Change (C++) (0) | 2021.07.28 |
[LeetCode] 38. Count and Say (C++) (0) | 2021.07.25 |
[LeetCode] 118. Pascal's Triangle (C++) (0) | 2021.07.25 |
[LeetCode] 455. Assign Cookies (C++) (0) | 2021.07.25 |
댓글