본문 바로가기

카테고리 없음

코딜리티 lesson10 CountFactors, MinPerimeterRectangle, Flags(?), Peaks(?)

CountFactors

-> 약수 개수 찾기

[참고풀이]

# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")

def solution(N):
    cnt = 0
    i = 0
    while 1:
        i += 1
        n = N % i #나머지
        m = N//i #몫

        if i > m:
            return cnt
        if n == 0:
            if i == m:
                cnt +=1
                return cnt
            else:
                cnt += 2
    return cnt

 

 

MinPerimeterRectangle

# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")

def solution(N):
    pair = []
    i = 0

    while 1:
        i += 1
        n = N % i #나머지
        m = N // i #몫

        if i > m:
            break
        if n == 0:
            pair.append((i, m))
    
    minP = float('inf')
    for i in pair:
        minP = min(minP, i[0] + i[1])

    return 2*minP

Flags

 

Peaks