TL;DR;
- Discussions between normal members of the community and the user showing this behaviour.
- Discussions between moderators and the user showing this behaviour.
- (Temporarily) deleting the answer that caused the second or third moderator flag about this topic.
- Back to point two to get the answer undeleted.
If you see this behaviour from a user for the first time - comment
The first thing you should do is to comment. Maybe this person misclicked in the review queue. Or they forgot that they VTCed, but the question was edited and then they answered. Or maybe they just weren't familiar with this policy and didn't think about how this will come across for new users who are trying to learn how the site works.
In any case, the first thing to do is to comment and ask them. Maybe they can and are willing to retract their vote or vote to reopen. Or they might delete their answer (I can't imagine this scenario, but theoretically it's possible and we should at least give them a chance). If it's the second scenario they can edit their answer and leave a comment explaining their reasoning.
The purpose is to get their input, direct their attention to Meta discussions like those listed at the top of this question and to show that we as a community can normally handle stuff like this with comments instead of flags and moderator attention.
It's probably not that bad to leave them with the reputation from one answer of this kind.
If you see this behaviour from a user for the second or third time and they haven't shown any interest - comment and flag it for moderator attention
Ideally this situation shouldn't come up. But we are all humans and at one point this will probably happen. If you see that someone is doing the same thing they did before you should comment and be clear to point them at how we want to handle this policy.
After that you would ideally wait a bit and check back a few hours later or so. If you can't wait you should just go to the next step:
Flag it for moderator attention.
This step is not meant to ask for deletion. It is to build a history that someone is ignoring the policies. Ideally you would point to the last time you saw this behaviour. This is often difficult, but if you are sure that you have seen this before from the same user you can do this step. Explain why you think the user shouldn't do what he is doing and point to this discussion.
The moderator could then decide what to do. Probably they will start with a comment, too, to show that the behaviour reached moderator attention.
To be clear - I think this case will already be an exception and my view of moderators with their special mod powers is that they are exception handlers. And they are exceptionally good at judging what needs to be done and can take into account other things such as other flags in the history of a user, or just their experience in dealing with this kind of stuff. When it becomes an exception it's time to make an exception handler aware of this and let them handle it. First by commenting I hope, but the moderators know best how to judge and should take into account things like the scenario described by Separatrix or Molot.
If the problem still persists - flag it for moderator attention for deletion
If you have followed the previous steps and are sure that a user has ignored the policy willingly multiple times and you flagged at least once in the past for moderator attention and received a helpful flag for that: then, and only then, you may flag for moderator attention and ask for deletion.
The moderator will then decide what to do. Ideally they would at this point have a history of at least two or three flags that point out this behaviour and can see that the user in question has received information about the guidelines before. By normal users and moderators.
Hopefully this step is not necessary. But in case it will be necessary: an answer should be deletable, regardless of quality, if there is a history by this user to willingly ignore the sites guidelines.
A post deleted because of this policy enforcement should be able to be un-deleted. The user in question should start a Meta discussion about why his behaviour is correct, whether we should change the policy or just contact a moderator in the chat to get his answer undeleted. If the content is good the deletion should be a shot across the bows. If the problem persists the deletion should persist.
We want good content. Just not at the cost of willingly ignoring guidelines. It's the same as with people posting poor quality questions - they won't learn if they are not punished in any way for repeatedly ignoring the guidelines. With low quality posts there are automatic bans. With the behaviour outlined in this question there should be actions by a moderator.