출처 : programmers.co.kr/learn/courses/30/lessons/42842
☆ 나의 풀이
# 35/100 실패
def solution(brown, yellow):
answer = []
area=brown+yellow
for i in range(2,area//2):
if area%i==0:
answer.append([i,area//i])
return max(answer)
# 통과
def solution(brown, yellow):
answer = []
area=brown+yellow
for i in range(2,area//2):
if area%i==0 :
if (i-2)*(area//i-2)==yellow:
answer.append([i,area//i])
return max(answer)
★ 다른 사람 풀이
def solution(brown, red):
for i in range(1, int(red**(1/2))+1):
if red % i == 0:
if 2*(i + red//i) == brown-4:
return [red//i+2, i+2]
import math
def solution(brown, yellow):
w = ((brown+4)/2 + math.sqrt(((brown+4)/2)**2-4*(brown+yellow)))/2
h = ((brown+4)/2 - math.sqrt(((brown+4)/2)**2-4*(brown+yellow)))/2
return [w,h]
반응형
'coding test' 카테고리의 다른 글
[파이썬] 쿼드압축 후 개수 세기 (0) | 2020.12.04 |
---|---|
[파이썬] 3진법 뒤집기 (0) | 2020.12.03 |
[파이썬] 구명보트 (0) | 2020.12.02 |
[파이썬, Java] H-Index (0) | 2020.12.01 |
[파이썬] 2016년 (0) | 2020.11.30 |