[프로그래머스] - lv.0 - 종이 자르기

엘크·2023년 9월 22일
0

programers

목록 보기
7/9
post-custom-banner

문제 설명


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

정수 M, N이 매개변수로 주어질 때, M x N 크기의 종이를 최소로 가위질 해야하는 횟수를 return 하도록 solution 함수를 완성해보세요

제한 사항


  • 0 < M, N < 100
  • 종이를 겹쳐서 자를 수 없습니다.

입출력 예


MNresult
223
259
110

입출력 예 설명


입출력 예 #1

  • 본문과 동일합니다.

입출력 예 #2

  • 가로 2 세로 5인 종이는 가로로 1번 세로로 8번 총 가위질 9번이 필요합니다.

입출력 예 #3

  • 이미 1 * 1 크기이므로 0을 return 합니다.

내가 푼 답


function solution(M, N) {
    let CutM = M - 1;
    let CutN = M * (N - 1)
    
    return CutM + CutN;
}

Code Flow


생각하기

1. 간단하게 생각하면, M은 한번에 자른다고 생각했을때 m -1 만큼 자른다고 생각하면되고
2. 그 다음 N의 경우 m * n-1 만큼 자른다고 보면 된다.
3. 그렇게 잘랐을때, M 자른 횟수 + N 자른 횟수를 더하면 완성되는 작업이다.

다른 해답은 없을까?


function solution(M, N) {
    return M*N-1;
}
  • 좀 더 간결히 푼 것 같다. 한 줄로.
profile
꾸준하게 하면 된다 언젠가는..?
post-custom-banner

0개의 댓글