LeetCode - 2620. Counter

henu·2023년 9월 21일
0

LeetCode

목록 보기
85/186

Solution

var createCounter = function(n) {
    return function() {
        return n++
    };
};

Explanation

JS의 클로저에 관한 문제이다.
그리고 전위 연산자와 후위 연산자의 차이에 대해 알 수 있었다.

  • ++n(전위연산자) : 증감연산을 수행한 후 다른 연산을 수행한다.
  • n++(후위연산자) : 다른 연산을 수행한 후 증감연산을 수행한다.

즉, 증감연산자가 앞에 있으면 먼저 증감하고 뒤에 있으면 나중에 증감한다는 것이다.
이 원리를 문제에 적용해보면

return ++n

이라고 작성할 경우 Counter함수 첫 실행시 n이 리턴되는 것이 아니라 n+1이 리턴된다. 증감이 먼저되고 그 증감된 값이 리턴되기때문이다.
따라서 후위연산자를 사용해서 첫 실행시 n이 리턴되도록 해야한다.

0개의 댓글