Đây là một trong một loạt các thử thách dẫn đến sinh nhật của Brain-Flak. Tìm hiểu thêm ở đây .
Thử thách
Đối với thử thách này, mục tiêu của bạn sẽ là tìm ra cặp dấu ngoặc đầu tiên trong chuỗi ()[]{}<>
dấu ngoặc khớp hoàn toàn . Để mượn định nghĩa của DJMcMayhem về một chuỗi hoàn toàn khớp:
Đối với mục đích của thử thách này, "khung" là bất kỳ ký tự nào trong số này :
()[]{}<>
.Một cặp ngoặc được coi là "khớp" nếu dấu ngoặc mở và đóng theo đúng thứ tự và không có ký tự bên trong chúng, chẳng hạn như
() []{}
Hoặc nếu mọi phân lớp bên trong của nó cũng được khớp.
[()()()()] {<[]>} (()())
Subelements cũng có thể được lồng nhiều lớp sâu.
[(){<><>[()]}<>()] <[{((()))}]>
Một chuỗi được coi là "Hoàn toàn khớp" khi và chỉ khi mỗi cặp dấu ngoặc có dấu mở và đóng đúng theo thứ tự đúng.
Đầu vào
Đầu vào sẽ bao gồm một chuỗi không trống hoặc mảng char chỉ chứa các ký tự ()[]{}<>
và được đảm bảo khớp hoàn toàn. Bạn có thể nhận đầu vào theo bất kỳ cách hợp lý nào tương ứng với mặc định i / o của chúng tôi .
Đầu ra
Đầu ra của chương trình hoặc chức năng của bạn sẽ là chỉ mục của khung đóng cái đầu tiên. Đầu ra phải được 0
hoặc 1
được lập chỉ mục. Một lần nữa, đầu ra có thể theo bất kỳ cách hợp lý nào tương ứng với mặc định i / o của chúng tôi .
Các trường hợp thử nghiệm
Input 0-indexed 1-indexed
() 1 2
(<>) 3 4
<[]{<>}> 7 8
{}{}{}{} 1 2
[[]<>[]] 7 8
Đây là mã golf , ít byte thắng nhất!