Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Как-то пахнуло Turbo Pascal и лабами с первого семестра.
Если уже Котлин — то, как мне кажется, нужно стараться делать идиоматично.
Всякие иммутабельности, ФП, можно еще библиотеки типа arrow прикрутить, это же доя себя задачка.
А просто ифов написать с регекспами — разницы с тем же питоном особо нет, разве что скобки, но в питоне со списками красивее даже выйдет, если влоб делать.
// Добавляем новое условие
it == "^" -> {
push(it)
}
item == "^" -> {
stack[stack.lastIndex - 1] = (stack[stack.lastIndex - 1].toDouble()
.pow(stack.last())).toInt()
stack.removeAt(stack.lastIndex)
}
// Добавляем новое условие
it == "^" -> {
push(it)
}
item == "^" -> {
stack[stack.lastIndex - 1] = (stack[stack.lastIndex - 1].toDouble()
.pow(stack.last())).toInt()
stack.removeAt(stack.lastIndex)
}
Преобразование инфиксной нотации в постфиксную