인프런 커뮤니티 질문&답변

안영우1님의 프로필 이미지
안영우1

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

5. 최대 매출(Sliding Window)

while문 사용

해결된 질문

작성

·

208

0

안녕하세요 선생님. 항상 질 좋은 강의감사드립니다. 다름이 아니라 최대 매출 문제를 전 강의때 배운 투포인터를 활용해서 `while`문으로 풀었는데 괜찮은 코드인지 여쭤보고 싶습니다.
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
</head>

<body>
    <script>
        function solution(n, k, arr) {
            let lt = rt = currentSum = 0;
            let max = Number.MIN_SAFE_INTEGER;

            while (rt < n) {
                currentSum += arr[rt];
                if (rt - lt + 1 === k) {
                    max = Math.max(max, currentSum);
                    currentSum -= arr[lt++];
                }
                rt++;
            }
            return max;
        }


        let a = [12, 15, 11, 20, 25, 10, 20, 19, 13, 15];
        console.log(solution(3, a));
    </script>
</body>

</html>

답변 1

1

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

잘 하신 코드입니다. 매개변수에 n은 왜 있는건가요?

안영우1님의 프로필 이미지
안영우1
질문자

감사합니다.
함수 밖에서 매개변수 n에 arr.length를 할당해서 그렇습니다.

안영우1님의 프로필 이미지
안영우1

작성한 질문수

질문하기