const columns = ['Index', 'Chapters', 'Tags'];
// all problem with value [complexity:: medium] should appear first
let tag = '#gfg_dsa_chapter';
let pages = DataviewAPI.pages(tag);
function removeTag(tags, tagToRemove) {
	const newTags = [];
	tags.forEach((tag) => {
		if (tag !== tagToRemove) {
			newTags.push(tag)
		};
	});
	return newTags;
}
let pageNameandTags = pages
	    .sort( page => page['chapter-number'])
	    .map(page => [page['chapter-number'], page.file.link, removeTag(page.file.tags, tag)]);
dv.list
dv.table(columns, 
	    pageNameandTags);
  1. Mathematics DSA
  2. Bit magic
  3. Recursion
  4. Arrays
  5. Searching
  6. Sorting
  7. Matrix
  8. Hashing
  9. Strings
  10. Linked List
  11. Stack
  12. Queue
  13. Deque
  14. Tree
  15. Binary Search Tree
  16. Heap
  17. Graph
  18. Greedy
  19. Backtracking
  20. Dynamic programming
  21. Trie
  22. Segment Tree
  23. Segment and binary indexed tree
  24. Disjoint Set