1. 프로그래머스 알고리즘 문제 - 자릿수 더하기
문제점
정답은 맞췄으나 n을 리스트로 만들면서 str(), list()를 거치고 마지막에 int()로 넣는 조금 번거로운 과정이 필요함
def solution(n):
answer = 0
n = str(n)
n = list(n)
while len(n) > 0:
answer += int(n.pop())
return answer
시도해 본 것들
dir()로 n이 사용가능한 함수 체크
str()로 형변환 후 dir()체크
while문 for문으로 대체
해결 방법
형변환이 줄긴 했는데 반복문이 그대로인게 좀 아쉽다.
def solution(n):
answer = 0
n = str(n)
for i in range(1, len(n)+1):
answer += int(n[i-1:i])
return answer
알게 된 점
dir()로 함수를 찾다가 swapcase() 를 보고 최근에 푼 대문자와 소문자 문제에 써봤다.
def solution(my_string):
answer = ''
for i in my_string:
if i.isupper():
answer += i.lower()
else:
answer += i.upper()
return answer
저걸 풀때만 해도 isupper()를 찾아서 좋아했었는데 밑에서 한 줄로 만들어졌다.
def solution(my_string):
return my_string.swapcase()
적절한 함수를 사용하는 게 정말 중요하다는 것을 내 사례로 느낄 수 있었다.
'개발일지 > TIL' 카테고리의 다른 글
TIL 23-03-27 (0) | 2023.03.27 |
---|---|
TIL 23-03-26 (0) | 2023.03.26 |
TIL 23-03-24 (1) | 2023.03.24 |
TIL 23-03-23 (3) | 2023.03.23 |
TIL 23-03-22 (2) | 2023.03.22 |