Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Codewars Handbook ☕️🚀

[![Views statistics +1 👀](https://img.shields.io/badge/dynamic/xml?color=success&label=views&query=//*[name()=%27text%27][3]&url=https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FParanoidUser%2Fcodewars-handbook)](https://hits.seeyoufarm.com/api/count/graph/dailyhits.svg?url=https://github.com/ParanoidUser/codewars-handbook)
[![Completed kata 👌](https://img.shields.io/badge/completed%20kata-69.2%25-red.svg)](https://www.codewars.com/kata/search/java?xids=completed)
[![Completed kata 👌](https://img.shields.io/badge/completed%20kata-69.1%25-red.svg)](https://www.codewars.com/kata/search/java?xids=completed)
[![CI pipeline 🛠](https://img.shields.io/github/actions/workflow/status/ParanoidUser/codewars-handbook/build.yml?branch=main)](https://github.com/ParanoidUser/codewars-handbook/actions/workflows/build.yml)
[![Quality gate 🔎](https://img.shields.io/sonar/alert_status/codewars-handbook?server=https%3A%2F%2Fsonarcloud.io)](https://sonarcloud.io/dashboard?id=codewars-handbook)
[![Let's have a chat! 📞](https://img.shields.io/gitter/room/ParanoidUser/codewars-handbook?color=49c39e)](https://gitter.im/ParanoidUser/codewars-handbook)
Expand All @@ -25,7 +25,7 @@ slug.

| [1 kyu](/kata/1-kyu/index.md) | [2 kyu](/kata/2-kyu/index.md) | [3 kyu](/kata/3-kyu/index.md) | [4 kyu](/kata/4-kyu/index.md) | [5 kyu](/kata/5-kyu/index.md) | [6 kyu](/kata/6-kyu/index.md) | [7 kyu](/kata/7-kyu/index.md) | [8 kyu](/kata/8-kyu/index.md) | [beta](/kata/beta/index.md) | [retired](/kata/retired/index.md) |
|:-----------------------------:|:-----------------------------:|:-----------------------------:|:-----------------------------:|:-----------------------------:|:-----------------------------:|:-----------------------------:|:-----------------------------:|:---------------------------:|:---------------------------------:|
| 0 | 1 | 2 | 26 | 48 | 439 | 601 | 225 | 56 | 82 |
| 0 | 1 | 2 | 26 | 48 | 439 | 602 | 226 | 56 | 82 |

**Note:** The source code is written in Java 17 and may use language features that are incompatible
with Java 8, 11.
Expand Down
17 changes: 17 additions & 0 deletions kata/8-kyu/find-out-whether-the-shape-is-a-cube/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# [Find out whether the shape is a cube](https://www.codewars.com/kata/find-out-whether-the-shape-is-a-cube "https://www.codewars.com/kata/58d248c7012397a81800005c")

To find the volume (centimeters cubed) of a cuboid you use the formula:

```
volume = Length * Width * Height
```

But someone forgot to use proper record keeping, so we only have the volume, and the length of a single side!

It's up to you to find out whether the cuboid has equal sides (= is a cube).

Return `true` if the cuboid could have equal sides, return `false` otherwise.

Return `false` for invalid numbers too (e.g volume or side is less than or equal to 0).

Note: side will be an integer
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
interface Cube {
static boolean isCube(int volume, int side) {
return volume > 0 && volume == Math.pow(side, 3);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.assertFalse;

import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;

class SolutionTest {
@ParameterizedTest
@CsvSource(textBlock = """
1, 1
8, 2
27, 3
125, 5
""")
void cubes(int volume, int side) {
assertTrue(Cube.isCube(volume, side));
}

@ParameterizedTest
@CsvSource(textBlock = """
12, 2
8, 3
-8, -2
0, 0
1, 5
125, -5
0, 12
12, -1
""")
void others(int volume, int side) {
assertFalse(Cube.isCube(volume, side));
}
}
1 change: 1 addition & 0 deletions kata/8-kyu/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@
- [Find Multiples of a Number](find-multiples-of-a-number)
- [Find Nearest square number](find-nearest-square-number)
- [Find numbers which are divisible by given number](find-numbers-which-are-divisible-by-given-number)
- [Find out whether the shape is a cube](find-out-whether-the-shape-is-a-cube)
- [Find the first non-consecutive number](find-the-first-non-consecutive-number)
- [Find the force of gravity between two objects](find-the-force-of-gravity-between-two-objects)
- [Find the Integral](find-the-integral)
Expand Down