Percentual de preenchimento de uma caixa

Crie uma função que retorne a porcentagem de células internas de uma caixa que estão preenchidas. Os caracteres # formam a borda da caixa, o indica uma célula interna preenchida e um espaço indica uma célula interna vazia.

Considere cada posição interna como uma célula. Retorne a porcentagem de preenchimento como uma string, arredondada para o percentual inteiro mais próximo.

Exemplos

percentFilled(std::vector<std::string>{"####", "#  #", "#o #", "####"}); // ➞ "25%"
// Uma das quatro células internas está preenchida.

percentFilled(std::vector<std::string>{"#######", "#o oo #", "#######"}); // ➞ "60%"
// Três das cinco células internas estão preenchidas.

percentFilled(std::vector<std::string>{"######", "#ooo #", "#oo  #", "#    #", "#    #", "######"}); // ➞ "31%"
// Cinco das dezesseis células internas estão preenchidas.

Notas

  • Apenas o conta como uma célula preenchida, e o não aparecerá fora da caixa.
  • Ignore a largura física dos caracteres; cada caractere interno representa uma célula.