본문 바로가기
CodingTest/Programmers

[프로그래머스] Lv0 종이자르기

by yoondoo 2023. 1. 20.
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을 곱해주면된다.

반응형

댓글