https://www.acmicpc.net/problem/16676
SOLUTION
처음에 해당 수만 표시하면 되는줄로 알고 했다가 틀렸다.
0부터 N까지 전부다. 문제를 잘보자
정답률 낮은 이유가 쉽게 보고 빨리 풀어서 그런듯하다. 근데 다르게 풀어도 쉽긴 하다.
스티커 덱은 같은 수를 두번 쓰는 경우 증가한다.
1: 0
2: 11
3: 111
4: 1111
5: 11111
...
1이 연속되는 수가 해당 스티커를 필요로하는 최소 숫자다. 5개가 필요한 최소 연봉은 11111 이란 것.
따라서 주어진 수가 어디 사이에 위치해있는 지만 알면 쉽게 풀 수 있다.
파이썬으로 수를 str로 바꾸고, 1을 추가해주고 다시 int로 바꾸어서 크기를 대조해보았다.
PYTHON CODE
N = int(input())
card = 1
if N <= 10:
print(1)
else:
while N >= card:
card = str(card)
card += '1'
card = int(card)
print(len(str(card//10))) #현재 card는 N보다 더 큰수이기에 10으로 나누어주어 자리 수를 구한다
'Programming [Python] > 백준 알고리즘 솔루션' 카테고리의 다른 글
#279 백준 파이썬 [16678] 모독 (0) | 2019.12.12 |
---|---|
#278 백준 파이썬 [16677] 악마 게임 (0) | 2019.12.12 |
#276 백준 파이썬 [16675] 두 개의 손 (0) | 2019.12.11 |
#275 백준 파이썬 [16674] 2018년을 되돌아보며 (0) | 2019.12.11 |
#274 백준 파이썬 [9655] 돌 게임 (0) | 2019.12.10 |