📌문제
https://programmers.co.kr/learn/courses/30/lessons/42842
🎖️난이도
Level 2
✔️풀이
# sol1
def solution(brown, yellow):
import math
t = brown + yellow
m = math.ceil(math.sqrt(t))
for i in range(m, t+1):
if t % i != 0:
continue
tmp = [i, t//i] # [w, h]
if brown == (i + t//i) * 2 - 4:
return tmp
# sol2) 근의 공식 이용 (2차 방정식의 해)
def solution(brown, yellow):
import math
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]
'[ 알고리즘 ] > Brute Force' 카테고리의 다른 글
[백준] 1759. 암호 만들기 (0) | 2022.07.02 |
---|---|
[프로그래머스] 두 개 뽑아서 더하기 (0) | 2022.07.02 |
[프로그래머스] 소수 찾기 (0) | 2022.06.29 |
[프로그래머스] 모의고사 (0) | 2022.06.29 |
[백준] 11504. 돌려 돌려 돌림판! (0) | 2022.06.29 |