Size: a a a

2020 February 26

in phpGeeksJunior
Sergey Sirotin
да, классе в десятом, когда объсняли что такое стэк
Везёт кому-то, в моей школе препод по физике умер когда я был в седьмом классе, а я преподу по информатике рассказывал что такое CSS
источник

🦔

🦔 in phpGeeksJunior
Sergey Sirotin
совпадает количество. ТЗ спрашиваюший написал именно про количество)
Омг
источник

in phpGeeksJunior
Ramapriya Doom
Всем привет!

задали на собеседовании задачку, на первый взгляд простая, написать код, проверяющий, совпадает ли количество открывающихся и закрывающихся скобок.  Что-то типа того:

5 * (4 - 2) - всё ок
5 * (4 - 2( - ошбика

Пробовал регулярки

$pattern = '/\(*\)/';
$str = '5 * (4 - 2)';
echo preg_match($pattern, $str) ? 'true' : 'false';


Если делаю (4-2(, выдаёт false. Стоит развернуть скобки в другую сторону  типа ) 4-2)  - перестаёт работать и выдаёт true.

Кто-нибудь сталкивался с чем-то подобным?
Это тестовое такое?
источник

RD

Ramapriya Doom in phpGeeksJunior
Это тестовое такое?
да
источник

in phpGeeksJunior
Если да, то грустно
источник

SS

Sergey Sirotin in phpGeeksJunior
Но я тоже думаю, что он просто не правильно вопрос задал, или не так понял. Потому как задача прям каноничная. Правда, обычно ещё добавляют разные виды скобок ( { [
источник

g

grunge_r in phpGeeksJunior
Ramapriya Doom
Всем привет!

задали на собеседовании задачку, на первый взгляд простая, написать код, проверяющий, совпадает ли количество открывающихся и закрывающихся скобок.  Что-то типа того:

5 * (4 - 2) - всё ок
5 * (4 - 2( - ошбика

Пробовал регулярки

$pattern = '/\(*\)/';
$str = '5 * (4 - 2)';
echo preg_match($pattern, $str) ? 'true' : 'false';


Если делаю (4-2(, выдаёт false. Стоит развернуть скобки в другую сторону  типа ) 4-2)  - перестаёт работать и выдаёт true.

Кто-нибудь сталкивался с чем-то подобным?
По идее такая штука решается через стэк
источник

RD

Ramapriya Doom in phpGeeksJunior
Sergey Sirotin
Но я тоже думаю, что он просто не правильно вопрос задал, или не так понял. Потому как задача прям каноничная. Правда, обычно ещё добавляют разные виды скобок ( { [
источник

🦔

🦔 in phpGeeksJunior
)( должно быть true или false?
источник

SS

Sergey Sirotin in phpGeeksJunior
🦔
)( должно быть true или false?
false
источник

in phpGeeksJunior
Подсчёт общего количества не поможет, ибо скобки могут быть в разном порядке
источник

SS

Sergey Sirotin in phpGeeksJunior
"Последователньость скобок должна быть корректная"
источник

SS

Sergey Sirotin in phpGeeksJunior
Так что да, просто стеком сделай
источник

RD

Ramapriya Doom in phpGeeksJunior
ну да. типа за открывающей должна быть закрывающая
источник

RD

Ramapriya Doom in phpGeeksJunior
Sergey Sirotin
Так что да, просто стеком сделай
можно подробнее, что за стек?
источник

RD

Ramapriya Doom in phpGeeksJunior
стек оверфлоу? ))
источник

️️

️️👑OGURCHIK 🖤 ️... in phpGeeksJunior
return substr_count($str, '(')==substr_count($str, ')');
источник

S

Shurick in phpGeeksJunior
eval('code');
источник

️️

️️👑OGURCHIK 🖤 ️... in phpGeeksJunior
😏
источник

SS

Sergey Sirotin in phpGeeksJunior
Ramapriya Doom
можно подробнее, что за стек?
последний вошёл - первый вышел.
Идёшь посимвольно, считываешь символ, если это скобка - добавляешь в массив. Если же считываешь скобку, противоположную последней скобке в массиве - удаляешь её из массива. Если в конце массив остался пустой - строка верна
источник