Leetcode Note: Go - License Key Formatting

License Key Formatting - LeetCode
https://leetcode.com/problems/license-key-formatting/

  • Go 言語で取り組んだメモ

所感

  • 英数字とダッシュで構成される文字列 s のライセンスキー
  • 文字列は n 個のダッシュで分けることができる
  • 文字列 s を再フォーマットして k が含まれるようにする
  • 最初のグループは k より短くても

回答

Golang beats 100% at 6ms - LeetCode Discuss
https://leetcode.com/problems/license-key-formatting/discuss/96574/Golang-beats-100-at-6ms

func licenseKeyFormatting(S string, K int) string {
        S = strings.Replace(S, "-", "", -1)
        S = strings.ToUpper(S)
        mod := len(S) % K

        if mod == 0 {
            mod += K
        }

        for mod < len(S) {
            S = S[:mod] + "-" + S[mod:]
            mod += K + 1
        }

        return S
}