ETH官方钱包

切換
舊版
前往
大廳
主題

ZeroJudge - e840: P7. 密碼強(qiáng)度測試(Passwords) 解題心得

Not In My Back Yard | 2020-03-20 00:08:28 | 巴幣 2 | 人氣 128

題目連結(jié):


題目大意:
給定一個只包含英文字母以及數(shù)字的字串(1 ≦ 長度 ≦ 20),代表一個密碼。

現(xiàn)在給定一些加減分的規(guī)則:
請根據(jù)上述的規(guī)則輸出該密碼字串的分?jǐn)?shù)。



範(fàn)例輸入:
範(fàn)例輸入一:
123456

範(fàn)例輸入二:
Q8e8e8QaPpLe

範(fàn)例輸入三:
2020Happy2000


範(fàn)例輸出:
範(fàn)例輸出一:
9

範(fàn)例輸出二:
79

範(fàn)例輸出三:
68


解題思維:
這題解法當(dāng)然沒什麼特別的,就是照著規(guī)則走而已。

但是可以看到全部的規(guī)則都可以塞進(jìn)同一個迴圈一起計(jì)算。除了英文、數(shù)字的計(jì)數(shù),連續(xù)數(shù)字也可以,只要跟當(dāng)前位置的上一個位置比是不是數(shù)字就好。如果上一個位置也是數(shù)字的話就分?jǐn)?shù)就 - 1 。

然後可以用一些神祕的語法,例如說用「!」運(yùn)算子把數(shù)字壓成只有 0 和 1 、「? : 」三元運(yùn)算子等,不需要好幾個 if 。但相對的程式可讀性就會降低不少XD

此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。
追蹤 創(chuàng)作集

作者相關(guān)創(chuàng)作

相關(guān)創(chuàng)作

更多創(chuàng)作