목차
문제 설명
머쓱이는 큰 종이를 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 |
class Solution {
public int solution(int M, int N) {
return M * N - 1;
}
}
M x N 종이를 완전히 1 x 1로 만들기 위해 필요한 가위질 횟수는 다음과 같이 계산:
- 종이를 (M * N)개의 1 x 1 조각으로 나눠야 하므로 최소 (M * N - 1)번의 가위질이 필요.
- 예) 2 x 2 종이는 4개의 조각으로 나뉘고, 3번의 자르기가 필요.
- M * N - 1 공식 적용:
- M * N은 최종적으로 필요한 조각 수.
- -1은 초기 종이(한 덩어리)는 자를 필요가 없기 때문.
- 제약 조건 처리:
- 0 < M, N < 100이므로 유효한 입력만 들어온다고 가정.
- 별도의 검증 코드 없이 간결하게 작성.
728x90
'JAVA > 프로그래머스 코딩테스트 입문' 카테고리의 다른 글
[프로그래머스, LV.0] 치킨 쿠폰 (0) | 2024.12.14 |
---|---|
[프로그래머스, LV.0] 등수 매기기 (2) | 2024.12.14 |
[프로그래머스, LV.0] 로그인 성공? (0) | 2024.12.12 |
[프로그래머스, LV.0] 직사각형의 넓이 구하기 (0) | 2024.12.12 |
[프로그래머스, LV.0] 캐릭터의 좌표 (0) | 2024.12.12 |