题解 | #密码验证合格程序#

密码验证合格程序

https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841

const readline = require("readline");

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
});
let index = 0;
let input = [];
rl.on("line", function (line) {
    solution(line);
});

function solution(line: string) {
    if (line.length <= 8) {
        console.log("NG");
        return;
    }
    let UpperLetter = /[A-Z]/.test(line);
    let LowerLetter = /[a-z]/.test(line);
    let num = /[0-9]/.test(line);
    let other = /[^A-Za-z0-9]/.test(line);
    let count = [UpperLetter, LowerLetter, num, other]
        .map((x) => Number(x))
        .reduce((a, b) => a + b, 0);
    if (count < 3) {
        console.log("NG");
        return;
    }
    let set = new Set();
    for (let i = 0; i < line.length && i + 3 <= line.length; i++) {
        let subStr = line.substring(i, i + 3);
        if (set.has(subStr)) {
            console.log("NG");
            return;
        } else {
            set.add(subStr);
        }
    }
    console.log("OK");
}

全部评论

相关推荐

26牛牛不会梦到感谢信:羡慕离职了还能吃吗现在就赶回去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务