2024년 5월 20일 알고리즘 문제풀이
문제
난이도
Lv.2
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def solution(brown, yellow):
answer = []
arr = []
# 가로길이와 세로길이에서 모두 2를 빼고 곱한 값이 노란색 카펫의 개수와 같아야 한다.
for i in range(1, int((yellow)**0.5)+1):
if not yellow % i:
arr.append([i, yellow//i])
# 따라서 위에서 구한 값에 2를 더하면 카펫의 가로 길이와 세로 길이가 된다.
# 모든 칸의 갯수를 구한 후 노란색 카펫의 갯수를 빼면 갈색 카펫의 갯수가 나온다.
# 가로가 길어야 하므로 y, x 순으로 정렬한다.
for x, y in arr:
x += 2
y += 2
if x*y - yellow == brown:
answer = [y, x]
return answer