Resolução de problemas de Pintia —— transtorno obsessivo-compulsivo de 7 a 17 anos

7-17 Transtorno obsessivo-compulsivo

Título original:

Xiaoqiang estava contando as datas de nascimento dos residentes de uma comunidade, mas descobriu que o formato dos aniversários preenchidos por todos não era uniforme: por exemplo, algumas pessoas anotavam 199808e outras apenas anotavam 9808. Xiaoqiang, que tem transtorno obsessivo-compulsivo, pede que você escreva um programa para organizar a data de nascimento de todos em um 年年年年-月月formato. Para informações que contenham apenas os dois últimos dígitos do ano, predefinimos aqueles que 22são menores ou 20começam com , e os demais que 19começam com ou .

Formato de entrada:

Insira o ano e o mês de nascimento em uma linha, que é um número de 6 ou 4 dígitos. A pergunta tem a garantia de ser um ano e mês legal entre janeiro de 1000 e dezembro de 2021.

Formato de saída:

年年年年-月月Organize as informações de entrada em uma única linha e produza-as em um formato padrão .

.

Ideias para resolução de problemas:

  1. Importe readlineo módulo e crie um objeto de interface: primeiro readlineapresente o módulo e use createInterfacemétodos para criar um objeto de interface rl. Este objeto define o fluxo de entrada como entrada padrão.
  2. Ler entrada e armazenar: Ao ouvir 'line'eventos, a entrada é armazenada em um array buf.
  3. Analise a entrada e processe a string: atribua bufo primeiro elemento da matriz a uma variável preStre intercepte a substring, exceto os dois últimos caracteres. bufAtribua os dois últimos caracteres do primeiro elemento da matriz a uma variável lastStr.
  4. Gere resultados de saída com base nas condições: preStrse a duração do julgamento é 4, em caso afirmativo, conecte preStre lastStrcom hífens e produza o resultado. Caso contrário, determine preStrse é menor que 22. Em caso afirmativo, conecte 20 com preStre emende lastStro resultado de saída; caso contrário, preStrconecte 19 com e emende lastStro resultado de saída.
  5. Resultado de saída: gera a string de resultado gerada.

.

Código JavaScript (nó):

const r = require("readline");
const rl = r.createInterface({
    
    
    input: process.stdin
});
let buf = [];
rl.on('line', (input) => buf.push(input));
rl.on('close', () => {
    
    
    const preStr = buf[0].substr(0, buf[0].length - 2);
    const lastStr = buf[0].slice(-2);
    console.log(preStr.length == 4 ? (preStr + "-" + lastStr) : (parseInt(preStr) < 22 ? (20 + preStr) : (19 + preStr)) + "-" + lastStr);
});

.

Análise de complexidade:

Complexidade de tempo: O(1)
Complexidade do espaço: O(1)

Guess you like

Origin blog.csdn.net/Mredust/article/details/133519507