https://school.programmers.co.kr/learn/courses/30/lessons/42842
문제 해결을 위한 과정
이 문제의 경우 수학적 지식을 이용하면 해결할 수 있는 문제였습니다.
저 같은 경우는 for문을 돌리면서 yellow의 가로길이는 brown-2라는 것을 이용해 해결할 수 있었습니다. 이를 소스코드로 작성하면 다음과 같습니다. 또한 가로, 세로의 순서를 맞추기 위해 가로에 더 큰 값을 집어넣어야 합니다. 이를 위해 answer.clear()를 넣어주어 혹시 모를 가로, 세로 길이의 역전을 방지하였습니다.
소스코드
def solution(brown, yellow):
answer = []
n = brown // 2
for i in range(3, n):
temp = yellow % (i-2)
if temp == 0:
temp2 = yellow // (i-2)
if i + i + temp2 + temp2 == brown:
answer.clear()
answer.append(i)
answer.append(temp2 + 2)
return answer
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 소수 찾기 (Python) (0) | 2024.04.17 |
---|---|
프로그래머스 프로세스 (Python) (0) | 2024.04.14 |
프로그래머스 이중우선순위큐 (Python) (0) | 2024.04.14 |
프로그래머스 올바른 괄호 (Python) (0) | 2024.04.13 |
프로그래머스 디스크 컨트롤러 (Python) (0) | 2024.04.13 |