안녕하세요 성조입니다.
문제 출처
https://www.acmicpc.net/problem/2163
2163번: 초콜릿 자르기
정화는 N×M 크기의 초콜릿을 하나 가지고 있다. 초콜릿은 금이 가 있는 모양을 하고 있으며, 그 금에 의해 N×M개의 조각으로 나눠질 수 있다. 초콜릿의 크기가 너무 크다고 생각한 그녀는 초콜릿
www.acmicpc.net
문제
정화는 N×M 크기의 초콜릿을 하나 가지고 있다. 초콜릿은 금이 가 있는 모양을 하고 있으며, 그 금에 의해 N×M개의 조각으로 나눠질 수 있다.
초콜릿의 크기가 너무 크다고 생각한 그녀는 초콜릿을 친구들과 나눠 먹기로 했다. 이를 위해서 정화는 초콜릿을 계속 쪼개서 총 N×M개의 조각으로 쪼개려고 한다. 초콜릿을 쪼갤 때에는 초콜릿 조각을 하나 들고, 적당한 위치에서 초콜릿을 쪼갠다. 초콜릿을 쪼갤 때에는 금이 가 있는 위치에서만 쪼갤 수 있다. 이와 같이 초콜릿을 쪼개면 초콜릿은 두 개의 조각으로 나눠지게 된다. 이제 다시 이 중에서 초콜릿 조각을 하나 들고, 쪼개는 과정을 반복하면 된다.
초콜릿을 쪼개다보면 초콜릿이 녹을 수 있기 때문에, 정화는 가급적이면 초콜릿을 쪼개는 횟수를 최소로 하려 한다. 초콜릿의 크기가 주어졌을 때, 이를 1×1 크기의 초콜릿으로 쪼개기 위한 최소 쪼개기 횟수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 두 정수 N, M(1 ≤ N, M ≤ 300)이 주어진다.
출력
첫째 줄에 답을 출력한다.
코드
A, B = map(int, input().split())
print(A-1 + ((B-1)*A))
풀이
map 함수를 활용해서 값을 객체로 받는다.
이후 입력받은 변수 A를 기준으로 A와 B를 하나씩 감소시켜 각각 쪼개준다.
오답이나 문제가 있는 경우 언제든지 댓글 부탁드리겠습니다!
궁금하신 부분도 언제든 댓글 부탁드립니다!
감사합니다 다음 포스팅 때 뵙겠습니다!
참조
https://dojang.io/mod/page/view.php?id=2286
파이썬 코딩 도장: 22.6 리스트에 map 사용하기
이번에는 리스트에 map을 사용해보겠습니다. map은 리스트의 요소를 지정된 함수로 처리해주는 함수입니다(map은 원본 리스트를 변경하지 않고 새 리스트를 생성합니다). list(map(함수, 리스트)) tupl
dojang.io
'백준 - Python' 카테고리의 다른 글
[백준 - 2750][Python] 수 정렬하기 (1) | 2022.10.08 |
---|---|
[백준 - 2525][Python] 오븐 시계 (2) | 2022.10.03 |
[백준 - 5355][Python] 화성수학 (0) | 2022.09.29 |
[백준 - 10430][Python] 나머지 (0) | 2022.09.27 |
[백준 - 1000][Python] A+B (1) | 2022.09.20 |