[leetcode, JS] 1446. Consecutive Characters

mxxn·2023년 10월 17일
0

leetcode

목록 보기
97/198

문제

문제 링크 : Consecutive Characters

풀이

/**
 * @param {string} s
 * @return {number}
 */
var maxPower = function(s) {
    if(s.length === 1) return 1
    let cntArr = []
    let cnt = 1
    for(let i=1; i<=s.length; i++ ) {
        if(s[i] !== s[i-1]) {
            cntArr.push(cnt)
            cnt = 1
            continue;
        }else {
            cnt++
            if(i === s.length) cntArr.push(cnt)
        }
    }
    return Math.max(...cntArr)
};
  1. s[i]와 s[i-1]을 비교하여 max값 구하는 방식
  • Runtime 64 ms, Memory 44.3 MB (비효율적)

다른 풀이

/**
 * @param {string} s
 * @return {number}
 */
var maxPower = function (s) {
    let power = 1
    let count = 1
    for (i = 1; i <= s.length; i++) {
        if (count > power) power = count
        if (s[i] === s[i - 1]) {
            count++
        } else {
            count = 1
        }
    }
    return power
};
  1. 첫번째 풀이와 같은 방식이지만 더 효율적인 풀이
  • Runtime 54 ms, Memory 42.8 MB
profile
내일도 글쓰기

0개의 댓글