![JAR search and dependency download from the Maven repository](/logo.png)
g0801_0900.s0831_masking_personal_information.Solution.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-kotlin Show documentation
Show all versions of leetcode-in-kotlin Show documentation
Kotlin-based LeetCode algorithm problem solutions, regularly updated
package g0801_0900.s0831_masking_personal_information
// #Medium #String #2023_03_25_Time_149_ms_(100.00%)_Space_35.3_MB_(100.00%)
class Solution {
fun maskPII(s: String): String {
val masked = StringBuilder()
return if (Character.isAlphabetic(s[0].code)) {
val locationOfAtSymbol = s.indexOf("@") - 1
masked.append(s[0]).append("*****").append(s.substring(locationOfAtSymbol))
masked.toString().lowercase()
} else {
val allDigits = StringBuilder()
var pointer = -1
while (++pointer < s.length) {
if (Character.isDigit(s[pointer])) {
allDigits.append(s[pointer])
}
}
val numDigits = allDigits.length
if (numDigits == 11) {
masked.append("+*-")
} else if (numDigits == 12) {
masked.append("+**-")
} else if (numDigits == 13) {
masked.append("+***-")
}
masked.append("***-***-").append(allDigits.substring(numDigits - 4))
masked.toString()
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy