본문 바로가기
Algorithm

[구현/수학] 백준 1769 3의 배수 - Python

by jangThang 2022. 2. 9.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    1769번: 3의 배수

    문제가 잘 풀리지 않을 때, 문제를 바라보는 시각을 조금만 다르게 가지면 문제가 쉽게 풀리는 경험을 종종 해 보았을 것이다. 여러 가지 방법이 있지만 그 중 하나로 우리가 풀고 싶은 문제를

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     자연수 n이 주어집니다. n이 1의 자리가 될 때까지 각 자릿수를 더해 변환합니다.

    각 자릿수를 더한 합이 3의 배수이면 더하기 전의 수도 3의 배수입니다. 1의 자리가 3의 배수(3, 6, 9) 일 경우, n은 3의 배수입니다.

     

    2022.01.19 - [Algorithm] - [Algorithm] 단골 1번 문제, 구현 / 수학

     

    [Algorithm] 단골 1번 문제, 구현 / 수학

    [ Contents ] 1. 구현  단순히 '구현'만 하면 되는 문제 유형입니다. 문제를 이해하고 입력에 맞춰 적절한 출력만 하면 됩니다. 특별한 알고리즘이나 프로그래밍적 기법 없이, 단순 제어문만 사용하

    star7sss.tistory.com

     단순히 1의 자리가 될 때까지, 각 자릿수의 합을 구하면 됩니다.

     

     

     

    3. 코드

    n = input()
    cnt = 0 #횟수
    # 1의 자리가 될 때까지 반복
    while len(n) > 1:
        cnt += 1
        # 각 자릿수의 합
        sum = 0
        for i in n:
            sum += int(i)
        n = str(sum)
    
    print(cnt)
    if int(n) % 3 == 0:
        print("YES")
    else:
        print("NO")

     중간에 각 자릿수의 합이 3의 배수가 안되더라도 멈추면 안됩니다. 1의 자리가 될 때까지 연산한 후에, 3의 배수인지 판정합니다.

     

    star가 되고나서 Tistory

    반응형

    댓글