How to Create a Half-Turn Staircase?
As mentioned in the comments this a complex enough that it might warrant modeling it by hand. If, however, you don't need an extremely clean topology you can easily do it with a combination of an Array + Boolean modifier. At least the radial part that is, the other one seems simple enough to do separately by hand.

Create your step as a mesh object, but make sure it is a closed, manifold solid object (you'll need it later for a Boolean modifier).



Add an array modifier to it, set the $Z$ offset to the desired height of the step and set it to Object Offset

Now add an Empty object to the scene, and give it the exact rotation you want between each step. Say you want $12$ steps in the curve part, that will go around $180º$, then you have $180 º / 12 = 15º$, so rotate the empty $15º$ about the $Z$ axis and point the Array modifier Object Offset to it.



When you have the array set up, just add a new mesh object with the exact shape of the staircase boundary, a simple box will do. Making sure the steps are large enough to cover the whole volume.



Now add a Boolean modifier and you are all set. If you get any artifacts with the Boolean operation be sure to leave a small gap between each step.