코딩 기록들
프로그래머스 코딩테스트입문 - 소인수분해, 숨어있는 숫자의 덧셈1 본문
나의풀이
def solution(n): # n=12
answer = []
a = 2 # n을 2로 계속 나누다가 홀수가 되는 시점부터 a+1 한 값으로 나눠떨어지는 값을 answer에 저장
while a <= n: # 1) 2 <= 12 2) 2 <= 6 3) 2 <= 3 4) 3<=3
if n % a == 0: # 1) 12%2->나머지가0 2) 6%2->나머지가0 3) 3%2->나머지가1 4) 3%3 나머지0
answer.append(a) # 1) answer에 2추가 2) answer에 2추가 4) answer에 3추가
n = n//a # 1) 12//2->n=6 2) 6//2-> n=3 4) 3//3->n=1
else: # 3) a+1 해줌 (a=3)
a += 1
return list(dict.fromkeys(answer))
# dict.fromkeys(문자열 혹은 리스트)
# -> 문자열 혹은 리스트의 원소를 중복 제거 후 남은 원소들을 value가 없는 key로 저장
나의풀이
def solution(my_string):
answer = 0
a = []
for i in my_string:
if i == str(1):
answer += int(i)
if i == str(2):
answer += int(i)
if i == str(3):
answer += int(i)
if i == str(4):
answer += int(i)
if i == str(5):
answer += int(i)
if i == str(6):
answer += int(i)
if i == str(7):
answer += int(i)
if i == str(8):
answer += int(i)
if i == str(9):
answer += int(i)
return answer
정리된 깔끔한 풀이
2)
def solution(my_string):
answer = 0
for i in my_string:
try:
answer = answer + int(i)
except:
pass
return answer
3)
def solution(my_string):
answer = 0
number = ['0','1','2','3','4','5','6','7','8','9']
for i in range(len(my_string)):
if my_string[i] in number:
answer += int(my_string[i])
else:
continue
return answer
'프로그래머스 문제기록' 카테고리의 다른 글
[완점탐색] 2. 모의고사 (1) | 2023.10.19 |
---|---|
[완전탐색] 1.최소직사각형 (1) | 2023.10.19 |
프로그래머스 코딩테스트입문 - 369게임, n의배수 고르기 (0) | 2023.10.13 |
프로그래머스 코딩테스트입문 - 편지, 문자열안에 문자열 (0) | 2023.10.11 |
[프로그래머스 코딩테스트 입문] - [모음제거, 문자열 정렬하기 ] (0) | 2023.10.11 |