본문 바로가기

Algorithm/Implementation

(Python3) - 프로그래머스(코딩테스트 입문) : 합성수 찾기

반응형

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

약수 찾기 구현 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

정답 변수 answer를 선언 후 0으로 초기화합니다.

📔 풀이과정

1. divisor_cnt(n)를 선언해 숫자 n까지 for loop를 수행하며 나누어 떨어지면 약수이므로 해당 값을 반환하도록 구현합니다.

2. 1 ~ n까지 for loop를 수행하면서 약수개수가 2를 초과한다면 합성수 이므로 answer에 1을 더합니다.

📔 정답 출력 | 반환

answer를 반환합니다.


📕 Code

📔 Python3

def divisor_cnt(n):
    divisor = 0
    for i in range(1, n+1):
        if n % i == 0:
            divisor += 1
    return divisor

def solution(n):
    answer = 0
    for i in range(1, n+1):
        if divisor_cnt(i) > 2:
            answer += 1
    return answer

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.