Algorithm Study

[프로그래머스] 카펫 (level.2) / JAVA /완전탐색

hyun-1200 2022. 5. 25. 00:40

https://programmers.co.kr/learn/courses/30/lessons/42842

 

코딩테스트 연습 - 카펫

Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과

programmers.co.kr

 

 

 

 

브라운과 옐로우 / 가로와 세로의 관계만 알아내면 금방 풀 수 있다.

1)

  • 브라운 = (가로-2) *2 + 세로*2
  • 옐로우 = (가로-2) * (세로-2)*2

 

이 때, 가로>= 세로 라는 조건이 있음. 

따라서 세로는 3부터 브라운/2 까지만 가능하다고 설정하였다 

 

ex) 브라운이 10 이라 가정할때,

  • 가로 5, 세로 5 ( 가능.  '가로>= 세로' 조건 성립O )
  • 가로 4, 세로 6 (불가능.  '가로>= 세로' 조건 성립X) 

 

이러한 공식들만 생각하면 바로 구현해내기 쉬웠다.

 

아래는 내가 제출한 코드! 😃💪🏻💪🏻