-
[BAEK JOON] 2145. 숫자놀이 (Python)공부/알고리즘 2024. 5. 6. 22:24
문제링크
제출코드
while True: num = input() if num == '0': break while True: if(len(str(num)) == 1): print(num) break num = str(sum(map(int, list(num)))) """ num = str(sum(map(int, list(num)))) 입력받은 문자열을 우선 list로 변경한 후 map을 이용해서 안에 들어있는 list 요소를 int형으로 변환하여 더한 후 다시 문자열로 형변환을 한다. 따라서 num의 len값이 한자리가 된다면 반복문을 중단하고 출력하게 된다. """
map : 주어진 시퀀스(리스트, 튜플 등) 각 요소에 적용시켜서 새로운 iterable 객체를 만드는 기능이 있다.
- 대표적으로 iterable한 타입 - list, dict, set, str, bytes, tuple, range
문제를 풀면서 정답인줄 알았지만 다시 처음부터 수정하게 됐는데
검색이나 그때 그때 필요에 의해 학습하다보니.. map 함수에 대한 이해가 조금 부족했던거같다...
map함수를 사용하면 코드가 간략해지는데 괜히 어렵게 풀려고 했었다..
참고한 글
[프로그래머스] 자릿수 더하기 - 파이썬(python)
나의 풀이 def solution(n): return sum([int(i) for i in str(n)]) 간단하다. 정수 n을 문자열로 변환한 후에, for문을 이용해서 리스트로 변환한다. 그런다음 sum(리스트) 를 해주면 자릿수가 각 리스트들의 원소
jyeonnyang2.tistory.com
'공부 > 알고리즘' 카테고리의 다른 글
[BAEK JOON] 2965. 캥거루 세마리 (Python) (0) 2024.05.20 [BAEK JOON] 2851. 슈퍼 마리오 (Python) (0) 2024.05.08 [BAEK JOON] 1292. 쉽게 푸는 문제 (Python) (1) 2024.04.28 [BAEK JOON] 1251. 단어 나누기 (Python) (0) 2024.04.27 [BAEK JOON] 1094. 막대기 (Python) (0) 2024.04.25