[프로그래머스][파이썬] 약수 구하기 - 수학 (Level 0)

뻥튀기아이스크림·2025년 3월 19일
1
post-thumbnail

◽ 문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/120897

◽ 문제

◽ 입력 & 출력

◽ 내 풀이

def solution(n):
    answer = []
    
    for i in range(1, n + 1):
        if n % i == 0:
            answer.append(i)
            
    return answer
  • 0 에서의 나눗셈은 정의되지 않으니까, 1부터 n까지 n이랑 다 나눠서 나누어 떨어지면 배열에 담는다.

◽ 다른 사람 풀이

def solution(n):
    return [v for v in range(1, n+1) if (n / v).is_integer()]
  • 흐름은 똑같은데 is_integer() 함수가 새로워서 가져왔다.
  • 다른 새로운 풀이는 없었다.. 람다 활용한 정도만 있다.
  • 실수(float) 에서만 동작하는 함수인데, float 타입의 값이 .0 으로 끝나는지 (정수인지) 확인하는 함수이다.

◽ 더 나아가기

  • is_integer() 함수는 실수를 정수로 변환할지 여부, 리스트에서 정수 값만 필터링할 때 사용하면 좋을 것 같다.



피드백은 언제나 환영입니다 :)

profile
성장하고 싶은 개발자

0개의 댓글