Post

leetcode(리트코드)-1694 Reformat Phone Number(PYTHON)

leetcode(리트코드)-1694 Reformat Phone Number(PYTHON)

leetcode 1694 - Reformat Phone Number 문제입니다.

1. 문제

https://leetcode.com/problems/reformat-phone-number/


2. Input , Output


3. 분류 및 난이도

Eazy 난이도 문제입니다.


4. 문제 해석

  • number가 주어집니다.
  • number의 요소가 숫자인 것만 뽑고 3개씩 ‘-‘로 구분합니다. 만약 남은 숫자요소의 갯수가 4개라면 2개-2개로 분리합니다.
  • 분리된 문자열을 리턴하세요.

5. code

코드설명

python

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Solution:
    def reformatNumber(self, number: str) -> str:
        #brute list
        sz = len(number)
        resli = deque()
        count = 0 
        for i in range(sz):
            if number[i].isdigit():
                count+=1
                resli.append(number[i])
                if count%3 == 0 :
                    resli.append("-")
        if count%3 == 0 :
            resli.pop()
        if count%3 == 1 : 
            resli[-3],resli[-2] = resli[-2], resli[-3]
        return ''.join(resli)
                   

6. 결과 및 후기, 개선점

필요시 c++로 짜드립니다.

설명이 필요하다면 댓글을 달아주세요.

This post is licensed under CC BY 4.0 by the author.