Programmers/21.01.12 Carpet


💜 問題の説明


問題の説明


Leoはじゅうたんを買いに行きました.格子じゅうたんの列が見えました.真ん中は黄色で、一列は茶色で、下図のように見えます.

Leoは家に帰ってから、さっき見たじゅうたんの黄色と茶色の格子数を覚えたが、じゅうたん全体の大きさは覚えていない.
Leoがこのカーペットに茶色の格子の数茶色、黄色の格子の数黄色をパラメータとして与えた場合、カーペットの横方向と縦方向の寸法を順番に並べて返します.

💜 ソースコード

    from statistics import median
def divisor(yellow):
    div = []
    for i in range(1,yellow+1):
        if (yellow % i ==0):
            div.append(i)
    return div
def solution(brown, yellow):
    arr = []
    arr = divisor(yellow)
    total = brown + yellow
    flag = 0
    answer = []
    for i in range((int)(len(arr)/2)+1):
        if flag == 1 :
            break
        width = arr[i] + 2
        length = arr[len(arr)-i-1] + 2
        if (width * length == total):
            answer.append(length) 
            answer.append(width)
            flag = 1         
            break 
    return answer

💜 私のチリンチリン


brownタイルはただの枠なので、黄色の個数と配置を知るだけで総数がわかります.だから、ミネラルウォーターで確認して、ミネラルウォーターを探して配置を確認すれば、すべてのミネラルウォーターの数を把握することができます.
でもここに!考えた分、arrに保存しなくてはいけないのか、直接取得する方法があるようです.ほとんど数学の問題で考えて解答しなければならない…!❗