diff options
Diffstat (limited to 'challenge-192/vamsi-meenavilli/java/ch_1.java')
| -rw-r--r-- | challenge-192/vamsi-meenavilli/java/ch_1.java | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/challenge-192/vamsi-meenavilli/java/ch_1.java b/challenge-192/vamsi-meenavilli/java/ch_1.java new file mode 100644 index 0000000000..cf31964680 --- /dev/null +++ b/challenge-192/vamsi-meenavilli/java/ch_1.java @@ -0,0 +1,43 @@ +import org.junit.jupiter.api.Test; +import java.util.HashMap; +import java.util.Map; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +/* +Week 192: + + https://theweeklychallenge.org/blog/perl-weekly-challenge-192 + + Task 1: Binary Flip + You are given a positive integer, $n. + Write a script to find the binary flip. + +*/ +public class main { + public static Map<Character, Character> binaryNumberMap = new HashMap(); + + static { + binaryNumberMap.put('0', '1'); + binaryNumberMap.put('1', '0'); + } + + public static void main(String[] args) {} + + public static Integer binaryFlip(Integer number) { + var flippedBinaryNumber = new StringBuilder(); + + for (char c : Integer.toBinaryString(number).toCharArray()) { + flippedBinaryNumber.append(binaryNumberMap.get(c)); + } + + return Integer.parseInt(flippedBinaryNumber.toString(), 2); + } + + @Test + public void binaryFlipTest() { + assertEquals(binaryFlip(5), 2, "Example 1 Failed."); + assertEquals(binaryFlip(4), 3, "Example 2 Failed."); + assertEquals(binaryFlip(6), 1, "Example 3 Failed."); + } +} |
