반응형
ⓐ 총 너비와 가로, 세로길이의 관계는 배수, 약수 관계이다.
ⓑ 기준(미지수)를 뭘로 설정할지 정하기 : 총너비의 가로세로, brown의 가로세로, yellow의 가로세로 중 선택
1. 나머지와 몫을 사용. 총 너비의 가로와 세로 길이를 기준으로 삼음
def solution(b, y):
size = b + y
for i in range(3, b): # 샌드위치 구조가 되려면 세로 3개가 필요
if size % i == 0:
j = size // i
if (i - 2)(j - 2) == y:
return sorted([i, j], reverse=True)
2. while 문으로 약수관계 구하기. yellow의 가로와 세로 길이를 기준으로
def solution2(b, y):
def brown(v, h):
return 2 (v + h) + 4
v, h = 0, y
while v <= h:
v += 1
h = y // v
if brown(v, h) == brown:
return [h + 2, v + 2]
3. 둘레의 길이. yellow의 가로와 세로 길이를 기준으로
def solution3(b, y):
for i in range(3, int(y**0.5) + 1):
if y % i == 0:
j = y // i
if 2 (i + j) + 4 == b:
return [j + 2, i + 2]
반응형
'프로그래밍 > 알고리즘 & 자료구조' 카테고리의 다른 글
그래프 탐색 (1) BFS : 자식들부터 먼저 탐색 (0) | 2023.12.19 |
---|---|
[프로그래머스] 최소 직사각형 with 파이썬 (0) | 2023.12.19 |
[프로그래머스] 체육복 with 파이썬 (0) | 2023.04.24 |
[프로그래머스] 모의고사 with 파이썬 (0) | 2023.04.23 |
[프로그래머스] 입국심사 with 파이썬 (0) | 2023.04.22 |
댓글