Notice
Recent Posts
Recent Comments
Link
기록
[Python / Level1] 약수의 합 본문
Question
https://school.programmers.co.kr/learn/courses/30/lessons/12928
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
Code
def solution(n):
return sum(i for i in range(1, n + 1) if n % i == 0)
Idea
약수란 1부터 자기자신까지의 수 중 자기자신과 나누었을 때 나머지가 0이 되는 수를 의미한다.
일반적으로 for문은 0부터 시작해 사용하지만, 자연수를 0 으로 나누는 것은 코드 상에서 에러를 발생시킨다.
때문에 for문을 1부터 시작해, 자기자신을 포함시키기 위해 n + 1까지 반복시키는 것이 하나의 포인트였다.
또한 파이썬 특유의 for문을 한 줄로 줄여서 사용하는 기법을 연습해볼 수 있었다.
'Algorithm > Programmers' 카테고리의 다른 글
| [Python / Level1] 자연수 뒤집어 배열로 만들기 (0) | 2022.10.26 |
|---|---|
| [Python / Level1] 정수 제곱근 판별 (0) | 2022.10.26 |
| [Python / Level1] 자릿수 더하기 (0) | 2022.10.26 |
| [Python / Level1] 평균 구하기 (0) | 2022.10.12 |
| [Python / Level1] 짝수와 홀수 (0) | 2022.10.12 |