From 5c64b0138d4925961447f065351db6803ba009a2 Mon Sep 17 00:00:00 2001 From: Jinyoung Jeong <80400463+jyoung2419@users.noreply.github.com> Date: Sun, 18 Oct 2026 19:44:25 +0900 Subject: [PATCH 1/2] Create 1944. Number of Visible People in a Queue --- ...1944. Number of Visible People in a Queue" | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 "leetcode3/\354\240\225\354\247\204\354\230\201/1944. Number of Visible People in a Queue" diff --git "a/leetcode3/\354\240\225\354\247\204\354\230\201/1944. Number of Visible People in a Queue" "b/leetcode3/\354\240\225\354\247\204\354\230\201/1944. Number of Visible People in a Queue" new file mode 100644 index 00000000..85c2c3d9 --- /dev/null +++ "b/leetcode3/\354\240\225\354\247\204\354\230\201/1944. Number of Visible People in a Queue" @@ -0,0 +1,29 @@ +/** + * @param {number[]} heights + * @return {number[]} + */ +var canSeePersonsCount = function(heights) { + // 볼 수 있는 조건 + // - 바로 오른쪽 + // - i j 사이 더 작은 사람 + // 시간 복잡도 O(n^2) => TLE + + let see = []; + + for (let i = 0; i < heights.length; i++){ + let count = 0; + let maxHeight = 0; + + for (let j = i+1; j maxHeight){ + count++; + } + + maxHeight = Math.max(maxHeight, heights[j]); + } + + see.push(count); + } + + return see; +}; From af03a96a76923e3afeefcdaf133a3b601bc6de52 Mon Sep 17 00:00:00 2001 From: Jinyoung Jeong <80400463+jyoung2419@users.noreply.github.com> Date: Sun, 18 Oct 2026 19:49:37 +0900 Subject: [PATCH 2/2] Implement canSeePersonsCount function for visibility count --- ...1944. Number of Visible People in a Queue" | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git "a/leetcode3/\354\240\225\354\247\204\354\230\201/1944. Number of Visible People in a Queue" "b/leetcode3/\354\240\225\354\247\204\354\230\201/1944. Number of Visible People in a Queue" index 85c2c3d9..0e459e8a 100644 --- "a/leetcode3/\354\240\225\354\247\204\354\230\201/1944. Number of Visible People in a Queue" +++ "b/leetcode3/\354\240\225\354\247\204\354\230\201/1944. Number of Visible People in a Queue" @@ -27,3 +27,33 @@ var canSeePersonsCount = function(heights) { return see; }; + + +풀이.. +/** + * @param {number[]} heights + * @return {number[]} + */ +var canSeePersonsCount = function(heights) { + let see = new Array(heights.length).fill(0); + let stack = []; + + for (let i = 0; i < heights.length; i++) { + + while ( + stack.length > 0 && + heights[stack[stack.length - 1]] < heights[i] + ) { + let person = stack.pop(); + see[person]++; + } + + if (stack.length > 0) { + see[stack[stack.length - 1]]++; + } + + stack.push(i); + } + + return see; +};