프로그래머스 파이썬 카펫 프로그래머스 카펫 파이썬 파이썬 프로그래머스 카펫 파이썬 카펫 프로그래머스 카펫 프로그래머스 파이썬 카펫 파이썬 프로그래머스
카펫
https://programmers.co.kr/learn/courses/30/lessons/42842
문제 단순화
- brown, yellow 두 정수가 있다.
- yellow는 직사각형을 이루는 격자의 갯수이고, brown은 해당 직사각형을 감싸는 격자의 갯수이다.
- 감싸는 격자의 가로, 세로의 크기를 리턴한다.
문제풀이
yellow = h * w 이라 했을 때,
brown = (h+2)*2 + (w+2)*2 - 4
= h*2 + 4 + w*2 + 4 - 4
= h*2 + w*2 + 4
brown-4 = h*2 + w*2
(brown-4)/2 = h + w
h + w = (brown-4)/2, h * w = yellow를 만족하는 h, w를 구한다.
[w+2, h+2]를 리턴한다. 단, w+2 >= h+2
코드
def solution(brown, yellow):
sum_hw = (brown-4)//2
product_hw = yellow
for h in range(1,sum_hw):
w = sum_hw-h
if h*w == product_hw:
answer = [w+2, h+2]
break
return answer
'프로그래머스' 카테고리의 다른 글
프로그래머스 단속카메라 파이썬 (0) | 2021.09.12 |
---|---|
프로그래머스 구명보트 파이썬 (0) | 2021.09.12 |
프로그래머스 체육복 파이썬 (0) | 2021.09.11 |
프로그래머스 조이스틱 파이썬 (0) | 2021.09.11 |
프로그래머스 H-Index 파이썬 (0) | 2021.09.10 |