코드
def solution(M, N):
answer = (M * N) - 1
return answer
간단한 문제처럼 보이지만 규칙을 찾아야 한다.
직접 그림을 그려 규칙을 찾아보았다.
가로를 M, 세로를 N이라 할 때, 가로 M을 먼저 자른다고 해보자.
그럼 가로는 M-1번 자르면 모든 가로 길이가 1이 된다.
그 결과, 가로가 1, 세로가 N인 직사각형이 M개 생긴다.
그럼 이제 이 직사각형들의 세로 길이를 1로 만들어줄 차례이다.
세로를 N-1번 자르면 모든 세로 길이가 1이 된다.
N-1번 자를 직사각형이 M개 있다.
이 과정을 식으로 나타내면 (M-1) + M * (N-1)이 되고 식을 정리하면 MN - 1이 된다.
반응형