컴공생의 다이어리
[프로그래머스] 카펫 - 파이썬(Python) 본문
[프로그래머스] 카펫 - 파이썬(Python)
def solution(brown, yellow):
size = brown + yellow
for i in range(3, brown):
if size % i == 0:
j = size // i
if (i - 2) * (j - 2) == yellow:
return sorted([i, j], reverse=True)
혹은
def solution(brown, yellow): # 둘레 길이 활용
for i in range(1, int(yellow ** (1 / 2)) + 1):
if yellow % i == 0:
if 2 * (i + yellow // i) == brown - 4:
return [yellow // i + 2, i + 2]
아래는 근의 공식을 활용한 다른 사람의 풀이이다.
def solution(brown, yellow): # 근의 공식 활용
x = (brown + 4 + ((brown + 4) ** 2 - 16 * (brown + yellow)) ** 0.5) / 4
y = (brown + yellow) / x
return [x, y]
https://programmers.co.kr/learn/courses/30/lessons/42842
728x90
'Development > Algorithm & Coding Test' 카테고리의 다른 글
[프로그래머스] 전화번호 목록 - 파이썬(Python) (0) | 2022.05.05 |
---|---|
[프로그래머스] 완주하지 못한 선수 - 파이썬(Python) (0) | 2022.05.04 |
[파이썬, Python] 백준 2075번 : N번째 큰 수 (0) | 2022.05.02 |
[파이썬, Python] 백준 1012번 : 유기농 배추 (0) | 2022.05.01 |
[파이썬, Python] 백준 2014번 : 소수의 곱 (0) | 2022.04.30 |
Comments