▶ 문제 설명
약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return하도록 solution 함수를 완성해주세요.
▶ 제한 사항
- 1 ≤ n ≤ 100
▶ 입출력 예
n | result |
10 | 5 |
15 | 8 |
▶입출력 예 설명
입출력 예 #1
10 이하 합성수는 4, 6, 8, 9, 10 로 5개입니다. 따라서 5를 return합니다.
입출력 예 #2
15 이하 합성수는 4, 6, 8, 9, 10, 12, 14, 15 로 8개입니다. 따라서 8을 return합니다.
▶ Code
def solution(n):
num = []
count = 0
for i in range(2,n+1):
for j in range(1,i+1):
if i % j == 0 :
num.append(i)
if num.count(i) >=3:
count += 1
return count
▶ Point
이중 for 문을 활용하여, i를 j로 나눈 나머지가 0일 경우에 num에 i를 추가하고, num의 갯수가 3 이상일 경우에 count에 1을 추가한다.
'Developer > Programmers' 카테고리의 다른 글
[Programmers] LV 0. 2차원으로 만들기 (Python/파이썬) (0) | 2023.03.23 |
---|---|
[Programmers] LV 0. A로 B 만들기 (Python/파이썬) (0) | 2023.03.23 |
[Programmers] LV 0. 중복된 문자 제거 (Python/파이썬) (0) | 2023.03.23 |
[Programmers] LV 0. 모스부호 (1) (Python/파이썬) (1) | 2023.03.23 |
[Programmers] LV 0. 문자열 정렬하기(2) (Python/파이썬) (0) | 2023.03.17 |
댓글