코딩테스트/Programmers_LV0

Programmers_JAVA_종이 자르기

wn1331 2022. 11. 10. 10:32
반응형

문제 설명

머쓱이는 큰 종이를 1 x 1 크기로 자르려고 합니다. 예를 들어 2 x 2 크기의 종이를 1 x 1 크기로 자르려면 최소 가위질 세 번이 필요합니다.

정수 M, N이 매개변수로 주어질 때, M x N 크기의 종이를 최소로 가위질 해야하는 횟수를 return 하도록 solution 함수를 완성해보세요.

 

     
     
     
     
     
5칸X1칸 -> 4회가위질(가로만 4회)
5칸X2칸 -> 9회가위질(가로 8회 세로 1회)
5칸X3칸 -> 14회 가위질(가로 12회 세로 2회)

 

             
             
             
             

 

 

 

4칸 X 1칸 -> 3회 가위질(가로만 3회)

2칸 X 4칸 -> 7회 가위질 (가로 1회 세로 6회)

4칸 X 7칸 ->27회 가위질(가로 3회 세로 24회)

 

이러한 규칙들로 보아, M칸 X N칸인 도형이라고 생각해 보자.

가로줄은 M-1 횟수만큼 자르고, 세로줄은 M * (N-1) 만큼 자르는 것을 볼 수 있다.

총 수식은 M-1 + MN - M = M*N-1

 

그럼 코딩을 해 보자.

수식을 구하기가 까다로웠지, 코딩은 아주 쉬웠다

 

 

반응형