aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-04-07 15:43:01 +0100
committerGitHub <noreply@github.com>2021-04-07 15:43:01 +0100
commit56ed21b65353e34ccf53708f653cda72f7d01ac3 (patch)
tree04df25ede255c7c67bec15bd5a32654a1e2e04ff
parentcbc488fe70b2fe07910bd012be7a94c559217769 (diff)
parente0afeb92569d9b7162b55d0b68bb7e6e9799e729 (diff)
downloadperlweeklychallenge-club-56ed21b65353e34ccf53708f653cda72f7d01ac3.tar.gz
perlweeklychallenge-club-56ed21b65353e34ccf53708f653cda72f7d01ac3.tar.bz2
perlweeklychallenge-club-56ed21b65353e34ccf53708f653cda72f7d01ac3.zip
Merge pull request #3846 from ziameraj16/ziameraj16-challenge-107
Java solution for Self Descriptive Number
-rw-r--r--challenge-107/ziameraj16/README.md34
-rw-r--r--challenge-107/ziameraj16/java/SelfDescriptiveNumber.java44
2 files changed, 52 insertions, 26 deletions
diff --git a/challenge-107/ziameraj16/README.md b/challenge-107/ziameraj16/README.md
index 4e1a6ecc5e..e7bf263e77 100644
--- a/challenge-107/ziameraj16/README.md
+++ b/challenge-107/ziameraj16/README.md
@@ -1,37 +1,19 @@
-# Maximum Gap
+# Self Descriptive Number
## Java Solution
To compile the code run
```java
-javac MaximumGap.java
+javac SelfDescriptiveNumber.java
```
To run
```java
-java MaximumGap
+java SelfDescriptiveNumber
```
### Example
```bash
-/perlweeklychallenge-club/challenge-106/ziameraj16/java$ javac MaximumGap.java
-/perlweeklychallenge-club/challenge-106/ziameraj16/java$ java MaximumGap
-Enter comma separated values
-2,9,3,5
-4
-```
-## Kotlin Solution
-
-To compile the code run
-```java
-kotlinc MaximumGap.kt
-```
-To run
-```java
-kotlin MaximumGap
-```
-### Example
-```bash
-/perlweeklychallenge-club/challenge-106/ziameraj16/kotlin$ kotlinc MaximumGapKotlin.kt
-/perlweeklychallenge-club/challenge-106/ziameraj16/kotlin$ kotlin MaximumGapKotlin
-Enter comma separated values
-1,3,8,2,0
-5
+/perlweeklychallenge-club/challenge-107/ziameraj16/java$ javac SelfDescriptiveNumber.java
+/perlweeklychallenge-club/challenge-107/ziameraj16/java$ java SelfDescriptiveNumber
+1210
+2020
+21200
```
diff --git a/challenge-107/ziameraj16/java/SelfDescriptiveNumber.java b/challenge-107/ziameraj16/java/SelfDescriptiveNumber.java
new file mode 100644
index 0000000000..acfa046fff
--- /dev/null
+++ b/challenge-107/ziameraj16/java/SelfDescriptiveNumber.java
@@ -0,0 +1,44 @@
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class SelfDescriptiveNumber {
+
+ public static void main(String[] args) {
+ int count = 0;
+ int i = 1;
+ while (true) {
+ if (count == 3) {
+ break;
+ }
+ if (isSelfDescriptiveNumber(i)) {
+ System.out.println(i);
+ count++;
+ }
+ i++;
+ }
+ }
+
+ private static boolean isSelfDescriptiveNumber(int number) {
+ String valueAsString = Integer.valueOf(number).toString();
+ Map<Integer, Integer> map = new HashMap(valueAsString.length());
+ for (int i = 0; i < valueAsString.length(); i++) {
+ final int c = Character.getNumericValue(valueAsString.charAt(i));
+ if (map.containsKey(c)) {
+ map.put(c, map.get(c) + 1);
+ } else {
+ map.put(c, 1);
+ }
+ }
+ for (int i = 0; i < valueAsString.length(); i++) {
+ int c = Character.getNumericValue(valueAsString.charAt(i));
+ if (map.getOrDefault(i, 0) != c) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+
+}
+