题解 | 密码验证合格程序
密码验证合格程序
https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841
/**
* 密码验证合格程序
*/
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void (async function () {
// Write your code here
let lineArr = [];
while ((line = await readline())) {
lineArr.push(line);
}
const reg1 = /[A-Z]/;
const reg2 = /[a-z]/;
const reg3 = /[0-9]/;
const reg4 = /[^0-9a-zA-Z]/;
const regArr = [reg1, reg2, reg3, reg4];
function check(str) {
if (str.length <= 8) return "NG";
// console.log(str.length);
let containCount = 0;
for (let regIndex = 0; regIndex < regArr.length; regIndex++) {
const reg = regArr[regIndex];
if (reg.test(str)) {
containCount += 1;
}
}
if (containCount < 3) return "NG";
// console.log(containCount, "containCount");
for (let i = 0; i < str.length - 2; i++) {
const strArr = str.split(str.slice(i, i + 3));
// console.log(strArr, "strArr");
if (strArr.length > 2) {
return "NG";
}
}
return "OK";
}
for (let i = 0; i < lineArr.length; i++) {
console.log(check(lineArr[i]));
}
})();
#华为算法题##js解法##算法题##华为OD流程#
查看9道真题和解析