diff options
| author | ziameraj16 <ziameraj16@gmail.com> | 2021-04-07 15:27:26 +0100 |
|---|---|---|
| committer | ziameraj16 <ziameraj16@gmail.com> | 2021-04-07 15:27:26 +0100 |
| commit | e0afeb92569d9b7162b55d0b68bb7e6e9799e729 (patch) | |
| tree | 04df25ede255c7c67bec15bd5a32654a1e2e04ff /challenge-107 | |
| parent | cbc488fe70b2fe07910bd012be7a94c559217769 (diff) | |
| download | perlweeklychallenge-club-e0afeb92569d9b7162b55d0b68bb7e6e9799e729.tar.gz perlweeklychallenge-club-e0afeb92569d9b7162b55d0b68bb7e6e9799e729.tar.bz2 perlweeklychallenge-club-e0afeb92569d9b7162b55d0b68bb7e6e9799e729.zip | |
Java solution for Self Descriptive Number
Diffstat (limited to 'challenge-107')
| -rw-r--r-- | challenge-107/ziameraj16/README.md | 34 | ||||
| -rw-r--r-- | challenge-107/ziameraj16/java/SelfDescriptiveNumber.java | 44 |
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; + } + + +} + |
