본문 바로가기

알고리즘/프로그래머스

[ Python ] - 저주의 숫자 3(120871)

728x90
반응형

문제 설명

머쓱이는 행운의 숫자 7을 가장 좋아합니다. 정수 배열 array가 매개변수로 주어질 때, 
7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해보세요.


제한사항

  • 1 ≤ array의 길이 ≤ 100 
  • 0 ≤ array의 원소 ≤ 100,000

입출력 예


입출력 예 설명 

입출력 예 #1 

  • [7, 77, 17]에는 7이 4개 있으므로 4를 return 합니다. 

입출력 예 #2 

  • [10, 29]에는 7이 없으므로 0을 return 합니다.

solution.py

def solution(n):
    answer = 0  # 최종적으로 반환할 답
    temp_num = 0  # 각 숫자에 더해질 임시 숫자
    
    # 1부터 n까지의 숫자에 대해 반복
    for num in range(1, n + 1):
        # (num + temp_num)이 3의 배수거나 '3'을 포함할 경우 temp_num 증가
        while (num + temp_num) % 3 == 0 or "3" in str(num + temp_num):
            temp_num += 1
        answer = num + temp_num  # 조건에 맞는 값을 answer에 할당
    return answer  # 최종 결과 반환
728x90
반응형