Codility: StoneWall Solution

Lesson 7 Stacks and Queues

Implementation

```.css-ds3kc{display:table-row;}.css-1t8atru{display:table-cell;opacity:0.5;padding-right:var(--chakra-space-6);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:right;}1.css-2qghsv{display:table-cell;}function Stack() {2  stack = []3
4  this.push = function (el) {5    stack.push(el)6  }7
8  this.pop = function () {9    return stack.pop()10  }11
12  return {13    ...this,14    get size() {15      return stack.length16    },17    get head() {18      return stack[this.size - 1]19    },20  }21}22
23function solution(H) {24  let stack = new Stack()25  let count = 026  H.forEach(h => {27    while (stack.size && stack.head > h) {28      stack.pop()29    }30    if (stack.size && stack.head === h) {31      return32    }33    stack.push(h)34    count++35  })36  return count37}```

References

https://codility.com/media/train/solution-stone-wall.pdf

codility

Next Post

Codility: Nesting

Jan 23, 2021

Lesson 7 Stacks and Queues

Previous Post

Codility: Distinct

Jan 22, 2021

Lesson 6 Sorting

Search Posts