문제
문제 링크 : Minimum String Length After Removing Substrings
풀이
var minLength = function(s) {
while(s.includes('AB') || s.includes(('CD'))) {
s = s.replaceAll('AB', '').replaceAll('CD', '')
}
return s.length
};
- 문자열 s에 'AB' 혹은 'CD'가 없을때까지 replace
- Runtime 88 ms, Memory 53.64 MB
다른 풀이
var minLength = function(s) {
const result = []
for(let char of s) {
if((result[result.length -1] === 'A' && char === 'B') || result[result.length -1] === 'C' && char === 'D') {
result.pop()
}else {
result.push(char)
}
}
return result.length
};
- result 배열을 만들고
- for문으로 result의 마지막 값이 'A'/'C' 이거나 char의 값이 'B'/'D'인 경우엔 pop, 그외엔 push로 하여 result length 리턴
- Runtime 85 ms, Memory 52.44 MB