[프로그래머스] 자연수 뒤집어 배열로 만들기

2024. 5. 26. 22:49개인활동/코테

def solution(n):
    answer = list(map(int, str(n)))
    answer.reverse()
    return answer

이런 문제를 풀던 찰나...

list(map(int, str(n))).reverse()를 해주니 None값이 뜨는 에러가 발생

reverse()를 분리해주니 에러없이 문제가 잘 해결되었다.

 

어떤 이유인지는 모르겠다.

 

여기서 내장함수인 reversed를 이용한 방식도 존재한다.

def solution(n):
    answer = reversed(list(map(int, str(n))))
    return list(answer)

여기서 return 값에 list를 씌우는 이유는 answer 자체는 reversed 객체이기에 이를 변환해야하기 때문이다.

 

return에서 list를 뺀 경우에는 아래와 같은 출력값을 보인다.

 

그리고 다른 사람의 코드를 보던 중 더 놀라운 것을 보게 된다.

def digit_reverse(n):
    return list(map(int, reversed(str(n))))

럴수럴수 이럴수가.

그냥 str 자체에 reversed를 해주어도 된다.

 

훨씬 더 코드가 간결해지는 것을 확인할 수 있다.