https://school.programmers.co.kr/learn/courses/30/lessons/42842
1. 해결방법
a(가로의 길이)와 b(세로의 길이)를 가지고 주어진 조건들을 가지고 공식을 만들어보면 다음과 같습니다.
위 조건들을 조건문을 이용하여 계산해주면 됩니다.
2. 정답코드
def solution(brown, yellow):
answer = []
total = brown + yellow
for col in range(3, total + 1):
row = total // col
if (row * col) == total and row >= col and (row - 2) * (col - 2) == yellow:
answer = [row, col]
return answer
위 사진의 공식을 알아채기에는 너무 실력이 부족하다..
그래서 현실적인 방법으로 접근을 했다. 노란 격자는 무조건 갈색 격자 안에 있기때문에 가로 길이를 brown - 2로 if문을 만들었고, col을 3으로 잡고 total을 나누어서 row값을 구하였다.
물론 혼자 스스로는 풀지 못했지만 이해만 한다면 쉽게 풀 수 있는 문제이다.
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.2 n^2 배열 자르기 (0) | 2022.09.13 |
---|---|
[프로그래머스] Lv.2 짝지어 제거하기 (0) | 2022.09.12 |
[프로그래머스] Lv.2 JadenCase 문자열 만들기 (0) | 2022.09.12 |
[프로그래머스] Lv.1 문자열 내 마음대로 정렬하기 (0) | 2022.09.12 |
[프로그래머스] Lv.1 예산 (0) | 2022.09.12 |