In Excel reichen die Spalten von A-Z, AA,AB,AZ,BA,..,BZ
und so weiter. Sie stehen eigentlich jeweils für Zahlen, sind aber als alphabetische Zeichenfolgen kodiert.
In dieser Herausforderung erhalten Sie eine Folge von Buchstaben und müssen die Spalte berechnen, der sie entspricht.
Einige Tests:
'A' gibt 1 zurück (was bedeutet, dass es die erste Spalte ist)
'B' gibt 2 zurück
'Z' gibt 26 zurück
'AA' gibt 27 zurück
'AB' gibt 28 zurück
'AZ' gibt 52 zurück
'ZZ' gibt 702 zurück
'AAA' gibt 703 zurück
Sie können davon ausgehen, dass nur Großbuchstaben angegeben werden.
Kürzeste Bytes gewinnen.
Viel Glück!
Z
sowieso automatisch als 10 behandelt wurdeAntworten:
Perl 6 , 17 Bytes
Probieren Sie es online!
Anonymer Codeblock, der 64 von jedem Bytewert subtrahiert und von der Basis 26 mit
Z
Überlauf zur nächsten Spalte konvertiert .quelle
Google Sheets, 21 Bytes
(Formel wird zum Ergebnis ausgewertet, Eingabe von Zelle A1)
quelle
R ,
4843 Bytes-5 Bytes dank @Giuseppe, mit der gleichen Logik, aber als Programm, das den
nchar
Aufruf beseitigt .Probieren Sie es online!
quelle
Java (JDK) , 39 Byte
Probieren Sie es online!
quelle
Python 2 ,
5245 BytesProbieren Sie es online!
quelle
05AB1E , 6 Bytes
Probieren Sie es online!
quelle
žx
statt nur64
?Haskell ,
383431 BytesProbieren Sie es online!
quelle
PHP,
4138 Bytes-3 danke an Jo King.
als Pfeife mit laufen
-nr
unäre Ausgabe, 34 Bytes:
benötigt PHP 7.1. In Datei speichern, als Pipe mit ausführen
-nF
.quelle
Gelee , 7 Bytes
Probieren Sie es online!
quelle
APL (NARS), 11 Zeichen, 22 Byte
Prüfung
quelle
C (gcc) ,
46, 43 BytesProbieren Sie es online!
Degolf
quelle
JavaScript (Node.js) , 48 Byte
Probieren Sie es online!
quelle
.map()
ist 1 Byte kürzer . Mit wird einBuffer()
weiteres Byte gespeichert .Google Sheets, 100 Byte
(Formel wird zum Ergebnis ausgewertet, Eingabe von Zelle A1)
Alle Leerzeichen werden nur zur Verdeutlichung hinzugefügt.
Hinweis .
row(indirect("1:"&len(A1))
.decimal
Funktion hat, würde die Transliteration eine Menge Bytes benötigen.quelle
APL + WIN, 12 Bytes
Indexherkunft 1.
Probieren Sie es online! Mit freundlicher Genehmigung von Dyalog Classic
Erläuterung:
quelle
Java (JDK) , 92 Byte
Probieren Sie es online!
Ausgabe
quelle
p
und -Variablen entfernenn
. 92 Bytes! .static
, um 7 Bytes zu erhalten. Sie können diese Funktion auch als Lambda definieren, um mehr Bytes zu sparen. Ich denke auch, dass die rekursive Version Bytes sparen könnte. In jedem Fall ist hier meine 39-Byte-Lösung .MATL , 11 Bytes
Probieren Sie es online!
quelle
Kotlin , 36 Bytes
Probieren Sie es online!
quelle
Ruby , 18 Bytes
Probieren Sie es online!
quelle
J , 11 Bytes
Probieren Sie es online!
Wie es funktioniert
quelle
Japt
-h
, 10 BytesVersuch es
Oder ohne Flagge. Das erste Byte kann entfernt werden, wenn die Eingabe als Zeichenarray erfolgen kann.
Versuch es
Erläuterung
quelle
Ruby
-nl
, 39 BytesProbieren Sie es online!
quelle
APL (Dyalog Classic) , 11 Bytes
Probieren Sie es online!
quelle
J , 20 Bytes
Probieren Sie es online!
Erläuterung:
quelle
Kohle , 10 Bytes
Probieren Sie es online! Link ist eine ausführliche Version des Codes. Erläuterung:
quelle
Voraus 22 Bytes
Probieren Sie es online!
quelle
MBASIC , 84 Bytes
Ausgabe:
quelle
x86-Maschinencode, 19 Byte
Versammlung:
Probieren Sie es online!
quelle
Kotlin , 29 Bytes
Probieren Sie es online!
Erklärt
quelle