반응형
# Problem
곧 2018년이 끝나고, 2019년이 온다. 근우는 2019년에는 꼭 다이어리를 쓰기로 했다. 하지만, 처음 써보는 다이어리에 쓸 내용이 없어 고민하던 중 자신의 목표 연봉을 다이어리 앞에 쓰기로 했다. 다이어리를 쓰는 사람은 알겠지만 예쁜 다이어리의 핵심은 스티커다. 그렇기 때문에 근우는 목표 연봉을 손으로 쓰지 않고, 스티커로 붙이려고 한다. 목표연봉이 100이라면 [1] [0] [0]과 같이 붙이는 것이다. [1]이란 1이 써져있는 스티커로, 다른 숫자에 대해서도 동일한 규칙이 적용된다. 근우는 자신의 연봉 최댓값이 N임을 안다. 그렇기에 근우는 0부터 N까지의 수를 하나씩 스티커를 통해 모두 표현하고자 한다. 최댓값 N이 10이면 만드는 과정은 다음과 같다.
필요한 스티커를 사러 고려대 하나스퀘어 유니스토어에 도착한 근우는 고민이 생겼다. 스티커 팩에는 [0]부터 [9]까지 스티커가 한 장씩 밖에 없으면서 생각보다 너무 비싼 것이다! 그렇기에 근우는 0부터 N까지 모든 수를 하나씩 표현할 수 있게 최소한의 스티커 팩만 사려고 한다. 근우는 매우 똑똑하지만, 스티커 팩 가격에 충격을 받아 계산할 수 없는 상태가 돼버렸다. 여러분이 근우의 최대 목표액 N이 주어졌을 때, 근우가 필요한 최소 스티커 팩의 개수를 구해주자. 입력첫 번째 줄에 근우의 연봉 최댓값을 의미하는 정수 N이 주어진다. (0 ≤ N ≤ 1,000,000,000) 출력첫 번째 줄에 근우가 0부터 N까지 스티커로 표현하기 위해 구매해야 하는 스티커 팩의 최소 개수를 출력한다. |
# My Answer
n = input()
if int(n)==0:
print(1)
exit(0)
if int(n)>=int('1'*(len(n))):
print(len(n))
else:
print(len(n)-1)
0-10 :1
11-110:2
111-1110:3
입력한 숫자의 자리수만큼 '1'을 연결한 수 보다 크면 자리수만큼 필요
그 외에는 하나 적게 필요
0일때는 1팩 필요
반응형
'Algorithm > 백준 알고리즘 풀이' 카테고리의 다른 글
[Baekjoon] 1080. 행렬 ( 탐욕 알고리즘 ) (0) | 2021.05.16 |
---|---|
[Baekjoon] 2437. 저울 ( 탐욕 알고리즘) (0) | 2021.05.16 |
[Baekjoon] 12849. 본대 산책 (DP) (0) | 2021.05.08 |
[Baekjoon] 1915. 가장 큰 정사각형 (DP) (0) | 2021.05.08 |
[Baekjoon] 2167. 2차원 배열의 합 (DP) (0) | 2021.05.07 |