[leetcode, JS] 1598. Crawler Log Folder

mxxn·2023년 10월 27일
0

leetcode

목록 보기
105/198

문제

문제 링크 : Crawler Log Folder

풀이

/**
 * @param {string[]} logs
 * @return {number}
 */
var minOperations = function(logs) {
    let cnt = 0
    logs.forEach(e => {
        if(e === '../') {
            cnt - 1 < 0 ? cnt = 0 : cnt -= 1
        }else {
            if(e !== './') {
                cnt += 1
            }
        }

    })

    return cnt
};
  1. 배열 logs를 순회하면서 element에 따라 cnt를 계산하여 return
  • Runtime 44ms, Memory 41.90MB

다른 풀이

/**
 * @param {string[]} logs
 * @return {number}
 */
var minOperations = function(logs) {
    return logs.reduce( (cnt, curEl) => {
        if(curEl === '../') {
            cnt - 1 < 0 ? cnt = 0 : cnt -= 1
        }else {
            if(curEl !== './') {
                cnt += 1
            }
        }

        return cnt
    }, 0)
};
  1. 풀이 방식은 같고 reduce를 활용
  • Runtime 49ms, Memory 42.02MB
profile
내일도 글쓰기

0개의 댓글