[LeetCode] 1945. Sum of Digits of String After Convert (Python)

2024. 12. 14. 18:07·알고리즘/LeetCode

 

난이도: Easy

 

문제 설명


You are given a string s consisting of lowercase English letters, and an integer k. Your task is to convert the string into an integer by a special process, and then transform it by summing its digits repeatedly k times. More specifically, perform the following steps:

  1. Convert s into an integer by replacing each letter with its position in the alphabet (i.e. replace 'a' with 1, 'b' with 2, ..., 'z' with 26).
  2. Transform the integer by replacing it with the sum of its digits.
  3. Repeat the transform operation (step 2) k times in total.

For example, if s = "zbax" and k = 2, then the resulting integer would be 8 by the following operations:

  1. Convert: "zbax" ➝ "(26)(2)(1)(24)" ➝ "262124" ➝ 262124
  2. Transform #1: 262124 ➝ 2 + 6 + 2 + 1 + 2 + 4 ➝ 17
  3. Transform #2: 17 ➝ 1 + 7 ➝ 8

Return the resulting integer after performing the operations described above.

 

문제 예제


Example 1:

Input: s = "iiii", k = 1

Output: 36

Explanation:

The operations are as follows:
- Convert: "iiii" ➝ "(9)(9)(9)(9)" ➝ "9999" ➝ 9999
- Transform #1: 9999 ➝ 9 + 9 + 9 + 9 ➝ 36
Thus the resulting integer is 36.

Example 2:

Input: s = "leetcode", k = 2

Output: 6

Explanation:

The operations are as follows:
- Convert: "leetcode" ➝ "(12)(5)(5)(20)(3)(15)(4)(5)" ➝ "12552031545" ➝ 12552031545
- Transform #1: 12552031545 ➝ 1 + 2 + 5 + 5 + 2 + 0 + 3 + 1 + 5 + 4 + 5 ➝ 33
- Transform #2: 33 ➝ 3 + 3 ➝ 6
Thus the resulting integer is 6.

Example 3:

Input: s = "zbax", k = 2

Output: 8

 

제한 사항


  • 1 <= s.length <= 100
  • 1 <= k <= 10
  • s consists of lowercase English letters.

 

✏️ Solution(솔루션)


class Solution:
    def getLucky(self, s: str, k: int) -> int:
        answer = 0

        for alpha in s:
            answer += (ord(alpha)-96)//10 + (ord(alpha)-96)%10

        k-=1
        while k!=0:
            temp = list((str(answer)))
            answer = 0
            for num in temp:
                answer += int(num)
            k-=1
        
        return answer

 

일단 s의 알파벳들을 ord함수를 통해 숫자로 바꾸고 //10 연산과 % 10연산을 사용해 첫번째 Transform 결과를 얻었다.

 

그 후에는 남은 k번 동안 answer를 리스트화 시키고 (ex. 17 => ['1', '7']) 이 리스트의 요소를 int화 시켜 answer에 더해 주었다.

 

그리고 answer를 return 하여 정답을 맞추었다.

 


1945. Sum of Digits of String After Convert

'알고리즘 > LeetCode' 카테고리의 다른 글

[LeetCode] 3264. Final Array State After K Multiplication Operations I (Python)  (1) 2024.12.16
[LeetCode] 1792. Maximum Average Pass Ratio (Python)  (0) 2024.12.15
[LeetCode] 2593. Find Score of an Array After Marking All Elements (Python)  (0) 2024.12.13
[LeetCode] 2558. Take Gifts From the Richest Pile (Python)  (0) 2024.12.12
[LeetCode] 2779. Maximum Beauty of an Array After Applying Operation (Python)  (0) 2024.12.11
'알고리즘/LeetCode' 카테고리의 다른 글
  • [LeetCode] 3264. Final Array State After K Multiplication Operations I (Python)
  • [LeetCode] 1792. Maximum Average Pass Ratio (Python)
  • [LeetCode] 2593. Find Score of an Array After Marking All Elements (Python)
  • [LeetCode] 2558. Take Gifts From the Richest Pile (Python)
Laewon Jeong
Laewon Jeong
  • Laewon Jeong
    래원
    Laewon Jeong
    글쓰기 | 관리
  • GitHub

    • github.com/laewonJeong
  • 전체
    오늘
    어제
    • 분류 전체보기 (172)
      • Docker 및 Kubernetes (11)
        • Docker (5)
        • Kubernetes (6)
      • Data Engineering (18)
        • Hadoop (5)
        • Spark (5)
        • Kafka (5)
        • Airflow (3)
      • CI|CD (3)
      • 알고리즘 (136)
        • 알고리즘 (2)
        • LeetCode (118)
        • 프로그래머스 (11)
        • BOJ (1)
        • 코딩테스트 대비 (4)
      • 서버 (2)
        • 미니 서버 (2)
      • 잡담 (1)
  • 태그

    DP
    leetcode
    오블완
    리트코드
    Apache Spark
    BFS
    프로그래머스
    docker
    파이썬
    쿠버네티스
    아파치 하둡
    그래프
    코딩테스트
    알고리즘
    programmers
    분산
    티스토리챌린지
    분산처리
    Python
    heapq
    누적합
    문자열
    이진탐색
    dfs
    우선순위큐
    Kubernetes
    아파치 스파크
    도커
    String
    백트래킹
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Laewon Jeong
[LeetCode] 1945. Sum of Digits of String After Convert (Python)
상단으로

티스토리툴바