우선 갈색이 노랑색을 둘러싸고 있는 구조 이므로, 가로와 세로의 길이는 무조건 3이상이어야 합니다.
또한 갈색, 노랑색의 개수를 알 수 있으므로, 이를 더하면 카펫의 넓이를 도출해 낼 수 있습니다.
이렇게 구한 카펫의 넓이를 통해, 약수들을 구해 가로와 세로의 길이들의 후보군을 탐색해볼 수 있습니다.
이를 구하기 위해, 3부터 넓이의 제곱근까지 탐색해나가며 세로의 길이를 구하고, 넓이를 세로의 길이로 나누어 보았을때, 나머지가 없다면, 최종 가로 세로의 후보군을 구할 수 있습니다.
그 후 갈색의 개수가 (가로+세로)*2-4인것을 통해 최종 가로,세로 길이를 구할 수 있습니다.
'알고리즘' 카테고리의 다른 글
[프로그래머스]코딩테스트 연습/Summer/Winter Coding(2019)/멀쩡한 사각형(python3) (0) | 2022.01.11 |
---|---|
[프로그래머스] 코딩테스트 연습_2020 KAKAO BLIND RECRUITMENT_문자열 압축 (python3) (0) | 2022.01.10 |
[프로그래머스] 코딩테스트 연습/코딩테스트 연습/스택_큐/다리를 지나는 트럭(python3) (0) | 2022.01.06 |
[프로그래머스] 코딩테스트 연습_해시_위장 (python3) (0) | 2022.01.04 |
[프로그래머스] 코딩테스트 연습_완전탐색_소수 찾기 (python3) (0) | 2022.01.03 |