백준/ Bronze2 문제 , 백준 파이썬 2231 , 분해합
<문제 출처>
https://www.acmicpc.net/problem/2231
------------------------------------------------------------------------------------------------------------------------------
예전에 풀다 넘겼는데, 다시 풀어보니까 바로풀린다.
생각해보면 자리수에따라 최솟값으로 나올수 있는 최소의 수는 "주어진수 - (9*자릿수)" 이다.
예를들어 세자릿수 256 같은경우, 아무리 작아봐야 각자릿수 최댓값9 를 3번빼준 256-27= 229 이다.
그래서 반복문 돌릴때 1부터 시작할필요없이 229부터 시작하면 된다.
만약 80 이라는 두자릿수라면 80-18= 62 부터 시작하면 된다.
근데 이 방식으로 하면 12 같은 경우 12-18= -6 음수가 나오므로 조심해야된다.
이런케이스에서는 음수부터 할필요없기때문에 0까지 끌어올려준다음 0부터 시작해주면된다.
------------------------------------------------------------------------------------------------------------------------------
정답
반응형
'알고리즘 공부 > 백준 - 파이썬' 카테고리의 다른 글
백준/ Bronze2 문제 , 백준 파이썬 1373 , 2진수 8진수 (0) | 2021.12.03 |
---|---|
백준/ Bronze2 문제 , 백준 파이썬 6359, 만취한 상범 (0) | 2021.12.03 |
백준/ Bronze2 문제 , 백준 파이썬 19532 , 수학은 비대면강의입니다 (0) | 2021.12.03 |
백준/ Bronze2 문제 , 백준 파이썬 14581 , 팬들에게 둘러싸인 홍준 (0) | 2021.12.03 |
백준/ Bronze2 문제 , 백준 파이썬 10810, 공 넣기 (0) | 2021.12.03 |