static void solve() throws NumberFormatException, IOException {
String p = next();
long sc = 0;
int len = p.length();
if (len <= 4) sc += 5;
else if (len <= 7) sc += 10;
else sc += 25;
boolean lwr = p.matches(".*[a-z].*");
boolean upr = p.matches(".*[A-Z].*");
int ls = 0;
if (lwr || upr) ls = (lwr && upr) ? 20 : 10;
sc += ls;
int dc = p.replaceAll("[^0-9]", "").length();
if (dc == 1) sc += 10;
else if (dc > 1) sc += 20;
int sym = p.replaceAll("[^!-/:-@\\[-`{-~]", "").length();
if (sym == 1) sc += 10;
else if (sym > 1) sc += 25;
int rw = 0;
boolean let = lwr || upr;
boolean dig = dc > 0;
boolean symF = sym > 0;
if (lwr && upr && dig && symF) rw = 5;
else if (let && dig && symF) rw = 3;
else if (let && dig) rw = 2;
sc += rw;
String res;
if (sc >= 90) res = "VERY_SECURE";
else if (sc >= 80) res = "SECURE";
else if (sc >= 70) res = "VERY_STRONG";
else if (sc >= 60) res = "STRONG";
else if (sc >= 50) res = "AVERAGE";
else if (sc >= 25) res = "WEAK";
else res = "VERY_WEAK";
println(res);
}
读题我们发现这就是很长但是很简单的暴力判断,所以我们选择用java的正则表达式这个对于字符串的匹配用起来很方便的方法
#牛客春招刷题训练营#https://www.nowcoder.com/creation/subject/d90225fecf404712be5150c470bffc45#牛客春招刷题训练营#

京公网安备 11010502036488号