본문 바로가기

개발일지/TIL

TIL 23-03-25

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