(Swift) 백준 2163 초콜릿 자르기

SteadySlower·2022년 8월 9일
0

Coding Test

목록 보기
117/305

2163번: 초콜릿 자르기

문제 풀이 아이디어

N M 크기의 초콜릿을 자를 때 뭔가 중간부터 잘라야 더 빠르게 자를 것 같지만 그냥 어떻게 자르던지 간에 같은 횟수를 가집니다. 그렇다면 직관적으로 구하기 쉽게 세로 크기가 1 짜리 초콜릿으로 자르고 다시 그 초콜릿을 1 1인 초콜릿으로 쪼개 봅니다.

  1. 먼저 N M의 초콜릿을 1 M의 초콜릿으로 나눕니다. → (N - 1)회
  2. 그리고 1 M의 초콜릿을 1 1의 초콜릿으로 나눕니다. → (M - 1)회
    1. 1 M 초콜릿이 N개 있으므로 → N (M - 1)
  3. 최종적으로 (N - 1) + N (M - 1) = N M - 1

코드

let input = readLine()!.split(separator: " ").map { Int(String($0))! }
print(input[0] * input[1] - 1)
profile
백과사전 보다 항해일지(혹은 표류일지)를 지향합니다.

0개의 댓글