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

정수 M, N이 매개변수로 주어질 때, M x N 크기의 종이를 최소로 가위질 해야하는 횟수를 return 하도록 solution 함수를 완성해보세요.
제한사항
- 0 < M, N < 100
- 종이를 겹쳐서 자를 수 없습니다.
M N result
| 2 | 2 | 3 |
| 2 | 5 | 9 |
| 1 | 1 | 0 |
입출력 예 #1
- 본문과 동일합니다.
입출력 예 #2
- 가로 2 세로 5인 종이는 가로로 1번 세로로 8번 총 가위질 9번이 필요합니다.
입출력 예 #3
- 이미 1 * 1 크기이므로 0을 return 합니다.
public static int solution(int M, int N) {
return (M-1)+((N-1)*M);
}
종이 M(가로) N(세로)라고 하면 먼저 M을 각각 가로 1의 길이로 만들어 주려면 M-1번씩 잘라야한다.
M-1번씩 잘린 종이들은 각각 세로가N일 것이고 세로를 1의 길이로 만들어 주려면 N-1번씩 잘르면 된다.
N-1번씩 자른 것들이 총 M개가 있어서 M을 곱해주면된다.
반응형
'CodingTest > Programmers' 카테고리의 다른 글
| [프로그래머스] Lv0 직사각형 넓이 구하기 (0) | 2023.02.02 |
|---|---|
| [프로그래머스] Lv0 캐릭터의 좌표 (0) | 2023.01.27 |
| [프로그래머스] Lv0 컨트롤 제트 (1) | 2023.01.19 |
| [프로그래머스] Lv0 영어가 싫어요*** (0) | 2023.01.12 |
| [프로그래머스] Lv0 잘라서 배열로 저장하기 (0) | 2023.01.12 |
댓글