Sha256: 92edc73a7dd7bab8bdd26f71438cfd8360724bac7c0a2a49546135ff423f1b2a

Contents?: true

Size: 785 Bytes

Versions: 51

Compression:

Stored size: 785 Bytes

Contents

unit uBracketPush;

interface

type
  TBracketPush = class
  private
    class var
      fBrackets: string;
      fPreviousLength: integer;
  public
    class function IsPaired(aInput: string): boolean;
  end;

implementation
uses SysUtils;

{ BracketPush }

class function TBracketPush.IsPaired(aInput: string): boolean;
var
  aChar: char;
begin
  fBrackets := '';
  for aChar in aInput do
    if aChar in ['[',']','{','}','(',')'] then
      fBrackets := fBrackets + aChar;
  fPreviousLength := length(fBrackets);

  while length(fBrackets) > 0 do
  begin
    fBrackets := fBrackets.Replace('[]', '').Replace('{}', '').Replace('()', '');
    if length(fBrackets) = fPreviousLength then
      exit(false);
    fPreviousLength := length(fBrackets);
  end;
  result := true;
end;

end.

Version data entries

51 entries across 51 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/delphi/exercises/bracket-push/uBracketPushExample.pas
trackler-2.2.1.179 tracks/delphi/exercises/bracket-push/uBracketPushExample.pas
trackler-2.2.1.178 tracks/delphi/exercises/bracket-push/uBracketPushExample.pas
trackler-2.2.1.177 tracks/delphi/exercises/bracket-push/uBracketPushExample.pas
trackler-2.2.1.176 tracks/delphi/exercises/bracket-push/uBracketPushExample.pas
trackler-2.2.1.175 tracks/delphi/exercises/bracket-push/uBracketPushExample.pas
trackler-2.2.1.174 tracks/delphi/exercises/bracket-push/uBracketPushExample.pas
trackler-2.2.1.173 tracks/delphi/exercises/bracket-push/uBracketPushExample.pas
trackler-2.2.1.172 tracks/delphi/exercises/bracket-push/uBracketPushExample.pas
trackler-2.2.1.171 tracks/delphi/exercises/bracket-push/uBracketPushExample.pas
trackler-2.2.1.170 tracks/delphi/exercises/bracket-push/uBracketPushExample.pas
trackler-2.2.1.169 tracks/delphi/exercises/bracket-push/uBracketPushExample.pas
trackler-2.2.1.167 tracks/delphi/exercises/bracket-push/uBracketPushExample.pas
trackler-2.2.1.166 tracks/delphi/exercises/bracket-push/uBracketPushExample.pas
trackler-2.2.1.165 tracks/delphi/exercises/bracket-push/uBracketPushExample.pas
trackler-2.2.1.164 tracks/delphi/exercises/bracket-push/uBracketPushExample.pas
trackler-2.2.1.163 tracks/delphi/exercises/bracket-push/uBracketPushExample.pas
trackler-2.2.1.162 tracks/delphi/exercises/bracket-push/uBracketPushExample.pas
trackler-2.2.1.161 tracks/delphi/exercises/bracket-push/uBracketPushExample.pas
trackler-2.2.1.160 tracks/delphi/exercises/bracket-push/uBracketPushExample.pas