728x90
문제 설명
머쓱이는 큰 종이를 1 x 1 크기로 자르려고 합니다. 예를 들어 2 x 2 크기의 종이를 1 x 1 크기로 자르려면 최소 가위질 세 번이 필요합니다.
정수 M, N이 매개변수로 주어질 때, M x N 크기의 종이를 최소로 가위질 해야하는 횟수를 return 하도록 solution 함수를 완성해보세요.
제한사항
- 0 < M, N < 100
- 종이를 겹쳐서 자를 수 없습니다.
입출력 예MNresult
2 | 2 | 3 |
2 | 5 | 9 |
1 | 1 | 0 |
입출력 예 설명
입출력 예 #1
- 본문과 동일합니다.
입출력 예 #2
- 가로 2 세로 5인 종이는 가로로 1번 세로로 8번 총 가위질 9번이 필요합니다.
입출력 예 #3
- 이미 1 * 1 크기이므로 0을 return 합니다.
처음 든 생각
- 일단 먼저 세로를 자르는 횟수를 세줘야겠네
- 가로로 자르는 횟수는 세로로 잘라서 나온 종이의 수만큼 곱해지면 되겠네.
나의 답
function solution(M, N) {
var answer = M-1 + (N-1)*M
return answer;
}
일단 세로로 잘라주는 횟수 M-1에다가
가로로 잘라주는 횟수 N-1을 M개의 세로 종이에 실행해주면 된다.
근데 결국 저 식을 전개하면 M*N -1 이라서 좀 더 간단하게 쓸 수 있었을텐데 하는 아쉬움이 남는다.
728x90
'스터디 > 코딩테스트' 카테고리의 다른 글
javascript 코딩테스트 - 폰켓몬 (0) | 2023.03.07 |
---|---|
javascript 코딩테스트 - 연속된 수의 합 (1) | 2023.03.05 |
javascript 코딩테스트 - 문자열 밀기 (0) | 2023.03.05 |
javascript 코딩테스트 - 로그인 성공 (0) | 2023.03.03 |
javascript 코딩테스트 - 옹알이 (1) | 2023.03.03 |