# How to show a language is regular through creating DFA

I'm trying to prove that a given language is regular through proving that a DFA can be created from it, but have problems with how to the DFA should look.

The alphabet is $$\Sigma=\{0, 1\}$$ and the language is: $$L = \{x \in \Sigma^*\mid \#_0(x)>\#_1(x)\text{ and }\#_1(x)\leq3\}\,,$$ where $$\#_i0(x)$$ means the number of $$i$$s in $$x$$.

When I should send it to a dead/trap state and what should the DFA look like?

As with any automaton, the states need to encode all the information you need to decide whether or not to accept the string you've read so far. In this case, that means that number of $$0$$s and $$1$$s that you've seen. Except you can't quite do that, because that would require infinitely many states. However, if you look more closely at the definition of the language, you'll see that you don't need to know the exact number of $$0$$s and $$1$$s: for example, if you've seen six $$1$$s, that's the same as seeing seven, or a million.