There was an error while loading. Please reload this page.
2 parents e6bd1f9 + facfb9e commit 58a98fbCopy full SHA for 58a98fb
1 file changed
leetcode3/강병호/233_Number of Digit One.java
@@ -0,0 +1,26 @@
1
+class Solution {
2
+ public int countDigitOne(int n) {
3
+ int count = 0;
4
+ long factor = 1;
5
+
6
+ while (factor <= n) {
7
+ long divider = factor * 10;
8
+ long higher = n / divider;
9
+ long current = (n / factor) % 10;
10
+ long lower = n % factor;
11
12
+ if (current == 0) {
13
+ count += higher * factor;
14
+ } else if (current == 1) {
15
+ count += (higher * factor) + (lower + 1);
16
+ } else {
17
+ count += (higher + 1) * factor;
18
+ }
19
20
+ if (n / 10 < factor) break;
21
+ factor *= 10;
22
23
24
+ return count;
25
26
+}
0 commit comments