https://school.programmers.co.kr/learn/courses/30/lessons/120836
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
내 답안 :
1
2
3
4
5
6
|
def solution(n):
count = 0
for i in range(1,n+1):
if n%i == 0:
count+=1
return count
|
cs |
n을 1부터 n까지의 수로 나누면서 나누어떨어지는 수의 개수를 구한다.
나누어떨어지는 경우 몫이 존재하니까 반드시 순서쌍을 이룰 수 있다.
개선안 :
1
2
|
def solution(n):
return len(list(filter(lambda v: n % (v+1) == 0, range(n))))
|
cs |
같은 풀이방법으로 푼 것인데, 이렇게 람다식을 이용하면 훨씬 짧은 코드로 풀 수 있다.
아직 익숙하지 않은데, 계속 연습해야겠다.
'프로그래밍 > Python' 카테고리의 다른 글
프로그래머스_python lv0. 구슬을 나누는 경우의 수 (0) | 2023.03.02 |
---|---|
프로그래머스_python lv0. 개미 군단 (0) | 2023.02.12 |
프로그래머스_python lv0. 진료순서 정하기 (0) | 2023.02.05 |
프로그래머스_python lv0. 외계행성의 나이 (1) | 2023.02.02 |
프로그래머스_python lv0. 배열 자르기 (0) | 2023.02.01 |