연속된 수의 합, 1

GUNHEE LEE·2024년 2월 7일
0

coding_test

목록 보기
4/6

프로그래머스: 연속된 수의 합

난이도: Level 0

def solution(num, total):
    '''
    num개의 수의 합이 total과 같은지를 확인하는 문제
    start, start+1, start+2, ... start+num-1
    = num*start + num*(num-1)//2
    
    start를 어떻게 결정할 것인가?
    num이 홀수인 경우
        total // num = 가운데 수
        start = total // num - num // 2
    num이 짝수인 경우
        total // num = 가운데 바로 옆수
        start = total // num - num // 2 + 1
    '''

    answer = []
    start = 0
    
    # num이 홀수
    if num%2:
        start = total // num - num // 2
    # num이 짝수
    else:
        start = total // num - num // 2 + 1

    for i in range(start, start + num):
        answer.append(i)
    return answer

백준: 1 (4375번)

난이도: 실버3

'''
각 자리가 모두 1로 구성된 n의 배수의 자리수를 출력하는 문제

n의 배수를 구해서 1로 구성됐는지 확인한다 X
1의 배수를 만들어서 n의 배수인지 확인한다 o
'''
import sys

while 1:
    try:
        n = int(sys.stdin.readline())
    except:
        break

    # i는 자리수
    i = 1
    check_num = 1

    while 1:
        if check_num % n == 0:
            print(i)
            break
        check_num = 10*check_num + 1
        i += 1
profile
새싹 개발자

0개의 댓글