1. quiz

  • 순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (a, b)로 표기합니다. 자연수 n이 매개변수로 주어질 때 두 숫자의 곱이 n인 자연수 순서쌍의 개수를 return하도록 solution 함수를 완성해주세요.

2. answer

def solution(n):
    answer = []
    for i in range(1,n+1):
        if n % i == 0:
            answer.extend([(i, n//i)])
    return len(answer) 

3. 다른 사람의 풀이

def solution(n):
    return len(list(filter(lambda v: n % (v+1) == 0, range(n))))
def solution(n):
    return len([number for number in range(1, n+1) if n%number == 0])
  • 계산 시간은 lambda가 가장 느렸고, 내 코드와 마지막 코드는 비슷했다. 내 코드를 간소화하면 마지막 코드와 같기 때문에 비슷하게 나올 수 밖에 없다고 생각한다.(아닌가?)

4. lambda

  • lambda 매개변수 : 표현식
  • 즉, lambda v는 n을 v+1로 나눴을 때 나머지가 0이 되는 값을 range n까지 모두 산출된다. 이 값을 리스트로 묶어 길이를 구하면 된다.
profile
To be a changer who can overturn world

0개의 댓글