W programie Excel kolumny mają zakres od A-Z, AA,AB,AZ,BA,..,BZ
i tak dalej. W rzeczywistości każdy z nich oznacza cyfry, ale są raczej kodowane jako ciągi alfabetu.
W tym wyzwaniu otrzymasz ciąg alfabetów i musisz obliczyć odpowiednią kolumnę.
Niektóre testy:
„A” zwraca 1 (co oznacza, że jest to pierwsza kolumna)
„B” zwraca 2
„Z” zwraca 26
„AA” zwraca 27
„AB” zwraca 28
„AZ” zwraca 52
„ZZ” zwraca 702
„AAA” zwraca 703
Możesz założyć, że wielkie litery będą podawane tylko.
Najkrótsze bajty wygrywają.
Powodzenia!
Z
jako 10Odpowiedzi:
Perl 6 , 17 bajtów
Wypróbuj online!
Anonimowy blok kodu, który odejmuje 64 od każdej wartości bajtu i konwertuje z podstawy 26 z
Z
przepełnieniem do następnej kolumny.źródło
Arkusze Google, 21 bajtów
(formuła ocenia wynik, pobiera dane z komórki A1)
źródło
R ,
4843 bajtów-5 bajtów dzięki @Giuseppe, wykorzystując tę samą logikę, ale jako program, który eliminuje
nchar
wywołanie.Wypróbuj online!
źródło
Java (JDK) , 39 bajtów
Wypróbuj online!
źródło
Python 2 ,
5245 bajtówWypróbuj online!
źródło
05AB1E , 6 bajtów
Wypróbuj online!
źródło
žx
zamiast po prostu64
?Haskell ,
383431 bajtówWypróbuj online!
źródło
PHP,
4138 bajtów-3 dzięki Jo King.
uruchomić jako potok z
-nr
jednoargumentowy, 34 bajty:
wymaga PHP 7.1. zapisz do pliku, uruchom jako potok za pomocą
-nF
.źródło
Galaretka , 7 bajtów
Wypróbuj online!
źródło
APL (NARS), 11 znaków, 22 bajty
test
źródło
C (gcc) ,
46, 43 bajtówWypróbuj online!
Degolf
źródło
JavaScript (Node.js) , 48 bajtów
Wypróbuj online!
źródło
.map()
jest o 1 bajt krótszy . UżycieBuffer()
zapisuje kolejny bajt .Arkusze Google, 100 bajtów
(formuła ocenia wynik, pobiera dane z komórki A1)
Wszystkie spacje zostały dodane wyłącznie dla przejrzystości.
Uwaga .
row(indirect("1:"&len(A1))
.decimal
funkcję, transliteracja zajmuje dużo bajtów.źródło
APL + WIN, 12 bajtów
Pochodzenie indeksu 1.
Wypróbuj online! Dzięki uprzejmości Dyalog Classic
Wyjaśnienie:
źródło
Java (JDK) , 92 bajty
Wypróbuj online!
Wynik
źródło
p
in
zmiennych. 92 bajty! .static
aby zyskać 7 bajtów. Możesz także ustawić tę funkcję na lambda, aby oszczędzić więcej bajtów. Myślę również, że wersja rekurencyjna może oszczędzać bajty. W każdym razie oto moje 39 bajtowe rozwiązanie .MATL , 11 bajtów
Wypróbuj online!
źródło
Kotlin , 36 bajtów
Wypróbuj online!
źródło
Rubinowy , 18 bajtów
Wypróbuj online!
źródło
J , 11 bajtów
Wypróbuj online!
Jak to działa
źródło
Japt
-h
, 10 bajtówSpróbuj
Lub bez flagi. Pierwszy bajt można usunąć, jeśli weźmiemy dane wejściowe jako tablicę znaków.
Spróbuj
Wyjaśnienie
źródło
Rubinowy
-nl
, 39 bajtówWypróbuj online!
źródło
APL (Dyalog Classic) , 11 bajtów
Wypróbuj online!
źródło
J , 20 bajtów
Wypróbuj online!
Wyjaśnienie:
źródło
Węgiel drzewny , 10 bajtów
Wypróbuj online! Link jest do pełnej wersji kodu. Wyjaśnienie:
źródło
Z przodu 22 bajty
Wypróbuj online!
źródło
MBASIC , 84 bajty
Wynik:
źródło
kod maszynowy x86, 19 bajtów
Montaż:
Wypróbuj online!
źródło
Kotlin , 29 bajtów
Wypróbuj online!
Wyjaśniono
źródło