문제 설명
머쓱이는 큰 종이를 1 x 1 크기로 자르려고 합니다. 예를 들어 2 x 2 크기의 종이를 1 x 1 크기로 자르려면 최소 가위질 세 번이 필요합니다.
정수 M, N이 매개변수로 주어질 때, M x N 크기의 종이를 최소로 가위질 해야하는 횟수를 return 하도록 solution 함수를 완성해보세요.
제한사항
- 0 < M, N < 100
- 종이를 겹쳐서 자를 수 없습니다.
입출력 예 설명
내가 생각한 알고리즘은 다음과 같다.
M 과 N 이 1인 예외 상황을 조건문으로 분리한다.
최종으로 자른 횟수를 구한다.
function solution(M, N) {
var answer = 0;
if (M !== 1 && N !== 1) { // M 과 N 이 모두 1이 아닌 경우
answer = M - 1 + (N - 1) * M;
} else if (M === 1 && N !== 1) { // M 이 1인 경우
answer = N - 1;
} else if (M !== 1 && N === 1) { // N 이 1인 경우
answer = M - 1;
}
return answer;
}
// 출처: 프로그래머스 StarBlitz , 임동주 , TeTedo , ll04 , codeisneverodd 외 162 명의 풀이
function solution(M, N) {
return M*N-1;
}