250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(Leet Code JS)Repeated Substring Pattern 본문
728x90
반응형
https://leetcode.com/problems/repeated-substring-pattern/
Repeated Substring Pattern - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
문자열 패턴 찾기 문제.
이중 for문으로 쉽게 해결할 수 있다.
먼저 pattern을 0번째 인덱스부터 i번째 인덱스까지 자른다.
그리고 isRepeated라는 flag를 설정하고, 내부 for문이 모두 돌게 되면 isRepated는 바뀌지 않아 패턴 문자열이라는 것을 알 수 있도록 한다.
내부 for문.
pattern은 0 ~ i번째 인덱스까지 문자열을 잘랐기 때문에,
비교할 문자열은 i부터 pattern의 문자열의 길이만큼 하나하나 비교한다.
i부터인 이유는 slice는 i - 1까지 끊기 때문이다.
cmp = s.slice(j, j + pattern.length)로 비교할 문자열을 자른다.
pattern과 cmp를 비교하여 같지 않다면 flag를 false로 바꾸고
for문을 빠져나와 다른 패턴을 찾아보도록 한다.
만약 모든 for문을 돌아도 패턴이 없다면 return false;
중간에 flag가 true인 경우는 패턴이 있기 때문에 return true;
/**
* @param {string} s
* @return {boolean}
*/
var repeatedSubstringPattern = function(s) {
for(let i = 1; i < s.length; i++){
const pattern = s.slice(0, i);
let isRepeated = true;
for(let j = i; j < s.length; j += pattern.length){
const cmp = s.slice(j, j + pattern.length);
if(pattern !== cmp){
isRepeated = false;
break;
}
}
if(isRepeated){
return true;
}
}
return false;
};
728x90
반응형
'Leet Code 알고리즘' 카테고리의 다른 글
(Leet Code JS)Maximum Erasure Value (0) | 2022.06.18 |
---|---|
(Leet Code JS)Hamming Distance (0) | 2022.05.13 |
(Leet Code JS)Find All Numbers Disappeared in an Array (0) | 2022.05.13 |
(Leet Code JS)Arranging Coins (0) | 2022.05.13 |
(Leet Code JS)Add Strings (0) | 2022.05.13 |