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.3%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 | 440 | 603 | 226 | 56 | 82 |
| 0 | 1 | 2 | 26 | 48 | 440 | 604 | 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
38 changes: 38 additions & 0 deletions kata/7-kyu/cyrillic-letters/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# [Cyrillic letters](https://www.codewars.com/kata/cyrillic-letters "https://www.codewars.com/kata/66d85e2db4d3909a8d0b53c9")

Cyrillic letters, used in languages like Russian and Ukrainian, have different Unicode values than Latin letters. 2 of those cyrillic
letters include `а` and `у` which, if you copy these 2, are not the same as the latin `a` and `y`

Don't believe me?

### Latin `a`:

<img src="https://i.imgur.com/5OK3gh2.png" alt="The latin a" width="400"/>
<img src="https://i.imgur.com/V5g0JoL.png" alt="End result of latin a" width="400"/>

### Cyrillic `а`:

<img src="https://i.imgur.com/xtbNwWV.png" alt="The cyrillic a" width="400"/>
<img src="https://i.imgur.com/ZiGP37s.png" alt="End result of cyrillic a" width="400"/>

## Task

Your task is to write a function that returns whether a given string is a **Cyrillic letter in the Cyrillic Unicode Block**.

The string will always be a single letter.

## Hint

Here is a link to [Wikipedia's list of the Cyrillic Unicode block](https://en.wikipedia.org/wiki/Cyrillic_(Unicode_block)) for reference

## Examples

```
Input: "D"
Output: false (or False in Python or your language's equivalent)
```

```
Input: "Я"
Output: true (or True in Python or your language's equivalent)
```
7 changes: 7 additions & 0 deletions kata/7-kyu/cyrillic-letters/main/Kata.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import static java.lang.Character.UnicodeBlock.*;

interface Kata {
static boolean isCyrillic(char letter) {
return of(letter).equals(CYRILLIC);
}
}
19 changes: 19 additions & 0 deletions kata/7-kyu/cyrillic-letters/test/SampleTests.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;

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

class SampleTests {
@ParameterizedTest
@ValueSource(chars = {'Д', 'а', 'ӿ', 'Ѐ'})
void cyrillic(char letter) {
assertTrue(Kata.isCyrillic(letter));
}

@ParameterizedTest
@ValueSource(chars = {'D', 'a', 'Ͽ', 'Ԁ'})
void negative(char letter) {
assertFalse(Kata.isCyrillic(letter));
}
}
1 change: 1 addition & 0 deletions kata/7-kyu/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@
- [Curing Arachnophobia](curing-arachnophobia)
- [Currying functions: multiply all elements in an array](currying-functions-multiply-all-elements-in-an-array)
- [Cyclops numbers](cyclops-numbers)
- [Cyrillic letters](cyrillic-letters)
# D
- [Day of the Year](day-of-the-year)
- [Debug Sum of Digits of a Number](debug-sum-of-digits-of-a-number)
Expand Down