aboutsummaryrefslogtreecommitdiff
path: root/max_69_number.c
diff options
context:
space:
mode:
Diffstat (limited to 'max_69_number.c')
-rw-r--r--max_69_number.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/max_69_number.c b/max_69_number.c
new file mode 100644
index 0000000..40365b9
--- /dev/null
+++ b/max_69_number.c
@@ -0,0 +1,29 @@
+// 1323. Maximum 69 Number
+#include "leetcode.h"
+
+/*
+ * you are given a positive integer 'num' consisting only of digit 6 and 9.
+ * return the maximum number you can get by changing at most one digit. (6
+ * becomes 9, and 9 becomes 6).
+ */
+
+int maximum69Number(int num) {
+ int right = -1, cnt = 0, tmp = num;
+ while (tmp > 0) {
+ int digits = tmp % 10;
+ if (digits == 6)
+ right = cnt;
+ cnt++;
+ tmp /= 10;
+ }
+ if (right == -1)
+ return num;
+ int ans = num + (3 * pow(10, right));
+ return ans;
+}
+
+int main() {
+ printf("%d\n", maximum69Number(9669)); // expect: 9969
+ printf("%d\n", maximum69Number(9996)); // expect: 9999
+ printf("%d\n", maximum69Number(9999)); // expect: 9999
+}