Logo
(追記) (追記ここまで)

25709번 - 1 빼기

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB101151744554.268%

문제

민겸이는 1 빼기를 할 수 있는 능력을 가지고 있다. 1 빼기란, 다음의 두 연산 중 하나를 골라 수행하는 것이다.

  1. 가지고 있는 수에서 1을 뺀다.
  2. 가지고 있는 수에 있는 1을 하나 지운다. 지우고 난 뒤 좌우의 수들을 순서대로 다시 합쳐 하나의 수로 만든다. 이때 맨 앞의 연속되는 0은 지워진다.

민겸이가 최초로 가지고 있는 정수가 하나 주어질 때, 이 수를 0으로 만들기 위해 최소 몇 번의 1 빼기가 필요한지 구해보자.

입력

민겸이가 가지고 있는 정수 N이 주어진다.

출력

민겸이가 해당 수를 0으로 만들기 위해서 최소 몇 번의 1 빼기가 필요한지 출력한다.

제한

  • 1 ≤ N ≤ 109

예제 입력 1

105

예제 출력 1

6

105 → 5 → 4 → 3 → 2 → 1 → 0의 과정으로 1 빼기를 진행할 경우 6번만으로 수를 0으로 만들 수 있다. 6번보다 적은 1 빼기로 수를 0으로 만드는 방법은 없다.

예제 입력 2

506

예제 출력 2

20

예제 입력 3

1000000000

예제 출력 3

1

힌트

출처

University > 인하대학교 > 2022 IGRUS Newbie Programming Contest G번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /