728x90
▼ 문제 바로가기 (링크) ▼
https://leetcode.com/problems/subtract-the-product-and-sum-of-digits-of-an-integer/
정수 n이 주어지면, 한 자리씩 끊은 후
각 숫자를 곱한 결과와 더한 결과를 구한다.
그 후 곱셈 결과에서 덧셈 결과를 뺀 수를 반환하는 문제.
class Solution:
def subtractProductAndSum(self, n: int) -> int:
digits = list(map(int, str(n)))
a , b = digits[0], digits[0]
for j in range(1,len(digits)):
a = a * digits[j]
b += digits[j]
return a - b
처음에는 가장 먼저 digits라는 새로운 리스트를 빈 상태로 만들고
늘 써서 익숙한 for 문과 append()로 digits를 채우려 했다.
그러다 map을 사용하면 더 좋을 것 같아 검색해서 한 줄로 작성했다.
문자열로 형 변환한 n을 정수 자료형으로 변환해서
새로운 리스트로 선언과 동시에 할당. 훨씬 간결하다.
map 함수의 용법은 알고 있지만
새로운 리스트를 일단 빈 상태로 선언하는 것에 익숙했는데
이렇게 작성하는 것도 익숙해져야겠다.
Runtime: 50 ms, faster than 60.89%.
Memory Usage: 13.9 MB, less than 9.49%.
728x90
반응형
'코딩 테스트 > leetCode' 카테고리의 다른 글
[leetCode] 1678. Goal Parser Interpretation (Python) (0) | 2022.10.18 |
---|---|
[leetCode] 1365. How Many Numbers Are Smaller Than the Current Number (Python) (0) | 2022.10.18 |
[leetCode] 1431. Kids With the Greatest Number of Candies (Python) (0) | 2022.10.18 |
[leetCode] 1832. Check if the Sentence Is Pangram (Python) (0) | 2022.10.18 |
[leetCode] 771. Jewels and Stones (Python) (0) | 2022.10.18 |