Skip to content
Open
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
11 changes: 9 additions & 2 deletions src/main/kotlin/ru/otus/homework/fizzbuzz.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
package ru.otus.homework


// шаг 1 задачи пропущен, так как индексы массива по заданию соответствуют числам на указанных индексах
fun fizzbuzz(n: Int): Array<String> {
TODO("Выполните задание")
return Array(n) {
when {
it % 3 == 0 && it % 5 == 0 -> "FizzBuzz"
it % 3 == 0 -> "Fizz"
it % 5 == 0 -> "Buzz"
else -> it.toString()
}
}
}
13 changes: 12 additions & 1 deletion src/main/kotlin/ru/otus/homework/sumoftwo.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,16 @@ package ru.otus.homework


fun sumOfTwo(numbers: IntArray, target: Int): IntArray {
TODO("Выполните задание")
val numbersSize = numbers.size
if (numbersSize < 1) throw IllegalArgumentException("Массив должен содержать хотя бы 2 элемента")
numbers.forEachIndexed { index, it ->
if (index == numbersSize - 1) throw IllegalArgumentException("Подходящих чисел не найдено")
if (it + numbers[index + 1] == target) return intArrayOf(index, index + 1)
for (i in index + 1 until numbersSize) {
if (it + numbers[i] == target) {
return intArrayOf(index, i)
}
}
}
throw IllegalArgumentException("Подходящих чисел не найдено")
}
21 changes: 21 additions & 0 deletions src/test/kotlin/ru/otus/homework/SumoftwoTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,25 @@ class SumoftwoTest {
sumOfTwo(intArrayOf(3, 2), 6)
}
}

/**
* Кейс для пустого массива
* */
@Test
fun `testcase 4`() {
assertThrows<IllegalArgumentException> {
sumOfTwo(IntArray(0), 0)
}
}


/**
* Кейс когда числа дающие target находятся не на смежных индексах массива numbers
* */
@Test
fun `testcase 5`() {
val actual = sumOfTwo(intArrayOf(3, 2, 3), 6)
val expected = intArrayOf(0, 2)
assertArrayEquals(expected, actual)
}
}