[Leetcode][python] 482: License key formatting - String

sophu·2021년 5월 8일
0

algorithm

목록 보기
4/4

Problem

  • Leetcode 482: License key formatting
  • Level: Easy
  • Link

You are given a license key represented as a string s that consists of only alphanumeric characters and dashes. The string is separated into n + 1 groups by n dashes. You are also given an integer k.

We want to reformat the string s such that each group contains exactly k characters, except for the first group, which could be shorter than k but still must contain at least one character. Furthermore, there must be a dash inserted between two groups, and you should convert all lowercase letters to uppercase.

Return the reformatted license key.

My Approach

A simple string slicing problem

class Solution:
    def licenseKeyFormatting(self, s: str, k: int) -> str:
        s = s.replace('-', '').upper()
        L = len(s)
 
        if L == 1:
            return s
        
        ans = ""
        ans += (s[0: L % k])
        
        for i in range(L % k, L, k):
            if len(ans) > 0:
                ans += '-'
            ans += s[i: i + k]
            
        return (ans)

profile
티스토리에서 벨로그로 블로그 이사 중 > https://sophuu.tistory.com/

0개의 댓글