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

密码验证合格程序

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

import Foundation

while let line = readLine() {
    let parts = line.split(separator: " ")
    let arr = Array(parts[0])
    if arr.count <= 8 {
        print("NG")
        continue
    }
    var small = 0
    var big = 0
    var num = 0
    var other = 0
    for i in 0 ... arr.count - 1 {
        var ch = arr[i]
        if ("0" ... "9").contains(ch) {
            num = num + 1
        } else if ("A" ... "Z").contains(ch) {
            big = big + 1
        } else if ("a" ... "z").contains(ch) {
            small =  small + 1
        } else {
            other = other + 1
        }
    }
    var count = 0
    if small > 0 {
        count = count + 1
    }
    if big > 0 {
        count = count + 1
    }
    if num > 0 {
        count = count + 1
    }
    if other > 0 {
        count = count + 1
    }
    
    if count < 3 {
        print("NG")
        continue
    }
    var ng = "OK"
    for i in 0 ... arr.count - 3 {
     var str = String(arr[i ... i+2])
     var res = parts[0].components(separatedBy: str)
        if res.count >= 3 {
            ng = "NG"
            break
        }
    }
    print(ng)
}

全部评论

相关推荐

醒工硬件:1学校那里把xxxxx学院去了,加了学院看着就不像本校 2简历实习和项目稍微精简一下。字太多,面试官看着累 3第一个实习格式和第二个实习不一样。建议换行 4项目描述太详细了,你快把原理图贴上来了。比如可以这样描述:使用yyyy芯片,使用xx拓扑,使用pwm控制频率与占空比,进行了了mos/电感/变压器选型,实现了xx功能 建议把技术栈和你做的较为有亮点的工作归纳出来 5熟悉正反激这个是真的吗
点赞 评论 收藏
分享
02-05 08:49
已编辑
武汉大学 Web前端
野猪不是猪🐗:36k和36k之间亦有差距,ms的36k和pdd的36k不是一个概念
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务