Eduard Lebedyuk · Mar 4, 2022

Code Golf: Label Validation

New month, new code golf!

You will receive a string with a label code with numbers and letters.
Our challenge is to check if this code begins with 1, 2, or 3 and ends with A, B, C, S, or R.
It should return true(1) if so or return false(0) otherwise.
As usual shortest solution wins.







  1. The signature of the contest entry MUST be:
Class codeGolf.LabelCode

ClassMethod Validate(s As %String) As %Boolean

  1. It is forbidden to modify class/signature, including but not limited to:
  • Adding inheritance
  • Setting default argument values
  • Adding class elements (Parameters, Methods, Includes, etc).
  1. It is forbidden to refer to non-system code from your entry. For example, this is not a valid entry:
ClassMethod Validate(s) As %Boolean 
  q ##class(myPackage.myClass).test(s)
  1. The use of $ZWPACK and $ZWBPACK is also discouraged.

My best attempt so far is 30 characters. What's yours?

1 237
Discussion (4)1
Log in or sign up to continue

size = 30

ClassMethod Validate(As %StringAs %Boolean

That was about my idea too.

Clever trick getting rid of the parenthesis!

Ah, no. Won't work without parenthesis.

For example "0Z" would return true instead of false.

size = 31

ClassMethod Validate(As %StringAs %Boolean
 q $MATCH(s,"[1-3].*[A-CRS]")