코테 공부를 너무 안해서 아무것도 모르겠다고 느꼈다. 그래서 다시 공부하고자 한다.
쉬운거부터 풀어야지 ㅋㅋㅋ
문제 설명
머쓱이는 큰 종이를 1 x 1 크기로 자르려고 합니다. 예를 들어 2 x 2 크기의 종이를 1 x 1 크기로 자르려면 최소 가위질 세 번이 필요합니다.
정수 M, N이 매개변수로 주어질 때, M x N 크기의 종이를 최소로 가위질 해야하는 횟수를 return 하도록 solution 함수를 완성해보세요.
제한사항
0 < M, N < 100종이를 겹쳐서 자를 수 없습니다.
입출력 예 설명
입출력 예 #1
본문과 동일합니다.
입출력 예 #2
가로 2 세로 5인 종이는 가로로 1번 세로로 8번 총 가위질 9번이 필요합니다.
입출력 예 #3
이미 1 * 1 크기이므로 0을 return 합니다.
문제를 풀 때, 예외조건부터 보지 말고, 종이를 자르는 방법부터 보자.
- 종이를 겹쳐서 자를 수 없습니다.
라고 했다.
그러면 일직선의 가위질밖에 없다.
가로로 n번, 세로로 m번을 자른다고 하면
n-1 번의 가로 가위질 후, 세로는 가로의 갯수 * m-1 번을 하면된다
따라서 (n-1 ) + (n * (m-1)) = (n-1) + (nm - n) = nm - 1
def solution(M, N):
return M * N - 1
'코테공부' 카테고리의 다른 글
프로그래머스 6일차 - OX퀴즈 (0) | 2023.02.19 |
---|---|
프로그래머스 5일차 - 다음에 올 숫자 (0) | 2023.02.18 |
프로그래머스 4일차 - 7의 개수 (0) | 2023.02.17 |
프로그래머스 3일차 - 잘라서 배열로 저장하기 (0) | 2023.02.16 |
프로그래머스 2일차 - 문자열밀기 (0) | 2023.02.15 |