[programmers 42842]カーペット(Python)


https://programmers.co.kr/learn/courses/30/lessons/42842

質問する


じゅうたんの枠は茶色で、それ以外は黄色です.
茶色、黄色の個数を与えると、カーペットの縦横寸法を求めることができる.
가로 = x / 세로 = yの場合、가로 * 세로=갈색 + 노랑.
0.横、縦を求める
def solution(brown, yellow):
    xy = brown + yellow
    # 가로 x, 세로 y
    for x in range(3, xy + 1):
        for y in range(x, 1, -1):
            if x < y:
                continue
            elif x * y == xy:
                if 2 * x + 2 * (y-2) == brown:
                    return [x,y]
  • 題では、黄色の個数は1より大きく、横線は3格以上であるべきだ.
  • 横寸法は縦寸法以上である.
    その他の状況は考慮しない.if x < y: continue
  • 가로 * 세로 = 노랑 + 갈색테두리의 수 = 갈색なら
    は、[가로, 세로]を返します.
  • 問題を解く


    コード#コード#

    def solution(brown, yellow):
        xy = brown + yellow
        # 가로 x, 세로 y
        for x in range(3, xy + 1):
            for y in range(x, 1, -1):
                if x < y:
                    continue
                elif x * y == xy:
                    if 2 * x + 2 * (y-2) == brown:
                        return [x,y]