- Компиляторы
-
Обучение
Изучить Python Запускаемые примеры, NumPy, pandas и другое Изучить ИИНейросети, ML и LLM с нуля Изучить C и C++ Указатели, память, STL и современный C++ Изучить C#Основы C#, ООП, LINQ, async и упражнения .NET Изучить MatplotlibЛинейные, столбчатые, точечные и круговые диаграммы с визуализацией Алгоритмы на Python Поиск, сортировка, рекурсия и визуализация O(n) Алгоритмы на C и C++ Сравнение реализаций на C и C++ Программирование для детей Учись программировать, играя!
- ЗадачиНовое
- УчителямНовое
- Обновления
- Угостить кофе
A 3×3 board is given as three strings of X, O and . (empty). A player wins with three of their marks in a row, column or diagonal. Boards never have two winners.
Implement tic_tac_toe_winner(board).
Input
board: Three rows of three characters each.
Output
Return "X" or "O" for the winner, "Draw" if the board is full with no winner, or "Pending" if empty cells remain and nobody has won.
Ограничения
board has exactly 3 rows of length 3
Примеры
Пример 1
Ввод:
board = ["XOX", ".X.", "O.X"]
Ожидаемый вывод:
"X"
Пояснение
X holds the diagonal from top-left to bottom-right, so X wins.
Пример 2
Ввод:
board = ["XOX", "XOO", "OXX"]
Ожидаемый вывод:
"Draw"
Пояснение
The board is full and no line has three of a kind: Draw.
Ссылки
-
Пример 1 Не запущеноВвод:
board = ["XOX", ".X.", "O.X"]Ожидаемый вывод:"X"Ваш вывод -
Пример 2 Не запущеноВвод:
board = ["XOX", "XOO", "OXX"]Ожидаемый вывод:"Draw"Ваш вывод
При отправке также выполняются ещё 5 скрытых теста. Если код не пройдёт один из них, вы увидите этот тест. Решите задачу, чтобы увидеть все.
Онлайн-компилятор Kotlin (Котлин)
Write, compile, run, and debug Kotlin code online in a full-featured browser IDE. Work with multiple files, save your workspace, and collaborate in real time.
🚀 71,457 всего выполнений (576 в этом месяце)
Практикуйте Kotlin на задачах
Решайте задачи прямо в редакторе: запускайте тесты, отправляйте решение и получайте AI-рецензию.
🧩 Об этом онлайн-исполнителе Kotlin
Исполнитель Kotlin CodeUtility позволяет писать, компилировать и запускать код Kotlin прямо в браузере - без установки, IDE или настройки SDK. Он использует реальные компиляторы Kotlin, работающие в изолированных песочницах, обеспечивая безопасный и достоверный опыт выполнения.
Этот инструмент поддерживает несколько версий Kotlin - 1.6, 1.9 и 2.1 - так что вы можете изучать изменения синтаксиса, проверять совместимость кода и экспериментировать с современными возможностями языка, такими как корутины, data-классы и sealed-интерфейсы.
Он идеально подходит для студентов, изучающих основы Kotlin, Android‑разработчиков, экспериментирующих с фрагментами кода, или бэкенд‑инженеров, проверяющих логику в среде JVM, не покидая браузер.
Каждая программа запускается в защищённой контейнеризованной среде выполнения, что обеспечивает стабильную производительность и безопасное выполнение кода.
Больше, чем просто запуск кода
В одном редакторе есть всё для работы: несколько файлов, изолированный терминал, библиотеки для выбранной версии, сохранение проектов, общий доступ по ссылке и совместная работа в реальном времени.
Как пользоваться редактором
Выберите версию языка, откройте или создайте файл, напишите код и нажмите «Запустить». Результат появится в терминале. После входа в аккаунт можно хранить файлы в рабочем пространстве, устанавливать библиотеки и работать над кодом вместе с другими.
- Выберите версию и отредактируйте текущий файл или откройте другой файл рабочего пространства.
- Запустите код, при необходимости введите данные в терминале и просмотрите сохранённую историю запусков.
- Используйте библиотеки, инструменты рабочего пространства, общий доступ и чат, когда для задачи требуется несколько фрагментов кода.
💡 Справочник по основам Kotlin для начинающих
1. Объявление переменных и констант
В Kotlin val используется для неизменяемых переменных, а var - для изменяемых.
val name: String = "Alice"
var age: Int = 30
val pi = 3.14 // тип выводится автоматически
// Константы
const val MAX_USERS = 100
2. Условия (if / when)
Используйте выражения if или when для нескольких веток.
val x = 2
if (x == 1) {
println("Один")
} else if (x == 2) {
println("Два")
} else {
println("Другое")
}
when (x) {
1 -> println("Один")
2 -> println("Два")
else -> println("Другое")
}
3. Циклы
Используйте for, while и do-while для итераций.
for (i in 0..2) {
println(i)
}
var n = 3
while (n > 0) {
println(n)
n--
}
4. Массивы
Kotlin поддерживает массивы через функцию arrayOf().
val numbers = arrayOf(10, 20, 30)
println(numbers[1])
5. Работа со списками
Используйте mutableListOf для динамических списков.
val nums = mutableListOf(1, 2, 3)
nums.add(4)
nums.removeAt(0)
for (n in nums) {
print("$n ")
}
6. Ввод/вывод в консоль
Используйте readLine() для ввода и println() для вывода.
print("Введите ваше имя: ")
val name = readLine()
println("Привет, $name")
7. Функции
Функции объявляются ключевым словом fun с необязательным возвращаемым типом.
fun add(a: Int, b: Int): Int {
return a + b
}
println(add(3, 4))
8. Отображения (Map)
mutableMapOf хранит пары ключ-значение.
val ages = mutableMapOf("Alice" to 30)
println(ages["Alice"])
9. Обработка исключений
Используйте try, catch и finally для обработки ошибок.
try {
val result = 10 / 0
} catch (e: ArithmeticException) {
println("Ошибка: ${e.message}")
}
10. Работа с файлами
Используйте File из java.io для операций с файлами.
import java.io.File
File("file.txt").writeText("Привет, файл")
val text = File("file.txt").readText()
println(text)
11. Работа со строками
Строки в Kotlin поддерживают множество методов и интерполяцию.
val text = "Привет, мир"
println(text.length)
println(text.substring(0, 5))
println(text.contains("World"))
12. Классы и объекты
Классы в Kotlin лаконичны и поддерживают конструкторы по умолчанию.
class Person(val name: String) {
fun greet() = println("Привет, я $name")
}
val p = Person("Alice")
p.greet()
13. Безопасность null
Kotlin различает типы, допускающие null, и не допускающие. Используйте ? и ?: для безопасности.
val name: String? = null
println(name?.length ?: 0)