プログラマーSummer/Winter Coding(2019):正方形-Python 3解答
質問の表示 👈 クリック!
✔確定問題
長さ、長さw、hの矩形が与えられると、正方形の数が返され、この正方形の長さは1、横、縦である. 解✔方法
長方形に対角線を描くと、同じ2つの直角三角形->1つの直角三角形から完全な正方形の個数を求め、その2倍を返します.
上の図に示すように、対角線は最初の関数として扱われます->x=1,2,3,...wの場合、正常三角形の個数=x=1.2.3…wの場合、y値より小さい整数の最大値.
に質問
->縦横の長さが1本しかない場合:通常の三角形の個数は0
横の長さと縦の長さは同じです.通常の三角形の個数は、元の長方形の総数-横の長さ(=縦の長さ)です.
💡 に答える
✔確定問題
長さ
長方形に対角線を描くと、同じ2つの直角三角形->1つの直角三角形から完全な正方形の個数を求め、その2倍を返します.
上の図に示すように、対角線は最初の関数として扱われます->x=1,2,3,...wの場合、正常三角形の個数=x=1.2.3…wの場合、y値より小さい整数の最大値.
に質問
def solution(w,h):
answer = 0
for x in range(1, w+1):
y = (-h/w)*x + h
answer += int(y)
return answer*2
展開すると、テストケース11,12はタイムアウトします.->縦横の長さが1本しかない場合:通常の三角形の個数は0
横の長さと縦の長さは同じです.通常の三角形の個数は、元の長方形の総数-横の長さ(=縦の長さ)です.
💡 完全なソースコード
def solution(w,h):
answer = 0
if w == 1 or h ==1 :
return 0
elif w == h:
return w * h - h
else:
for x in range(1, w+1):
y = (-h/w)*x + h #일차함수 식(기울기=-h/w, y절편=h)
answer += int(y)
return answer*2
Reference
この問題について(プログラマーSummer/Winter Coding(2019):正方形-Python 3解答), 我々は、より多くの情報をここで見つけました https://velog.io/@himinhee/프로그래머스-SummerWinter-Coding2019-멀쩡한-사각형-python3-풀이テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol