Jest to drugi z serii, trzeci to Dwie drogi rozbieżne w żółtym lesie (część 3)
Opiera się to na dwóch drogach podzielonych na żółte drewno (część 1) , które było moim wcześniejszym wyzwaniem. Został dość dobrze przyjęty, ale był również dość trywialny (odpowiedź Java w 52 bajtach!) Więc zrobiłem coś bardziej złożonego ...
Inspiracja
Wyzwanie to inspirowane jest słynnym wierszem Roberta Frosta „Droga nie podjęta”:
Dwie drogi rozchodziły się w żółtym lesie.
I przepraszam, że nie mogłem podróżować obaj
I być jednym podróżnikiem, długo stałem
I patrzyłem w dół jak najdalej,
do miejsca, gdzie zakręciło się w zaroślach;... przycięte 2 akapity ...
Będę opowiadać z westchnieniem
Gdzieś wieki wieków stąd:
Dwie drogi rozchyliły się w lesie, a ja -
wziąłem tę mniej uczęszczaną,
i to zrobiło różnicę.
Zauważ przedostatniej linii I took the one less traveled by,. Twoim celem jest znalezienie drogi najmniej przejechanej w danych wejściowych ciągu. Musisz wyprowadzić jedną z 2 wartości, które różnią się od siebie, sygnalizując, w którą stronę należy skręcić, aby wybrać drogę mniej przejechaną. Gdy droga rozwidli się (szlak sześciokątów zmienia się na liczby), jesteś na skrzyżowaniu. Stamtąd będą 2 ścieżki złożone z cyfr. Ścieżka, której cyfry mają najniższą sumę, będzie drogą niezebraną. Pamiętaj, że niezebrana droga może mieć większą ścieżkę, ale niższą sumę ścieżki. Oto kilka przykładów / przypadków testowych z programu, który drukuje „w lewo” lub „w prawo” dla niezebranej ścieżki:
1 2
1 2
1 2
#
#
#
left (3 < 6)
1 2
2 2
1 1
#
#
#
left (4 < 5)
12 2
11 2
1 1
#
#
#
right (6 > 5)
99 989
99 89
99 99
99 99
#
#
#
#
left (72 < 79)
1111 1110
001 111
11 11
11 11
#
##
##
##
left (9 < 10) (Note: 1111 is interpreted as 1+1+1+1=4, not 1111=1111)
1 1
0 1
1 1
1 1
1 1
1 1
1 1
#
#
#
#
#
left (6 < 7)
1 1
0 1
1 1
1 1
1 1
1 1
1 1
#
#
#
#
#
left (6 < 7)
Rzeczy do przyjęcia i zapamiętania
- Zawsze będą 2 ścieżki. Nie więcej nie mniej.
- Możesz pobierać dane ze STDIN jeden wiersz na raz, ciąg zawierający znaki LF lub ciąg zawierający dosłowny odwrotny ukośnik i n. Jeśli potrzebujesz danych wejściowych w jakikolwiek inny sposób, poproś o zgodę w komentarzach.
- Nie musisz się martwić o nieprawidłowe dane wejściowe lub powiązane ścieżki. Nie zostaną one nigdy wprowadzone do twojego programu / funkcji.
- Dane wejściowe mogą mieć dowolną długość, szerokość lub wysokość, mniejszą niż limit napisów w Twoim języku.
- W
#tym samym wierszu nigdy nie będzie ani cyfr. - Wszystkie cyfry na ścieżce są dodatnimi liczbami całkowitymi od 0 do 9.
- Dozwolone jest wprowadzanie lub wyprowadzanie z końcowym znakiem nowej linii.
- Zobacz moją odpowiedź JS ES6 poniżej.
- Zawsze będzie co najmniej 1 spacja między 2 ścieżkami.
- 2 ścieżki zawsze będą miały tę samą wysokość dla każdej mapy, ale mogą być inne na innych mapach.
- Jeśli masz wątpliwości co do konkretnego przypadku testowego, powiedz mi.
- 1111 interpretuje się jako 1 + 1 + 1 + 1 = 4, a nie 1111 = 1111. Mapa to ciąg liczb jednocyfrowych, a nie liczb o dowolnej długości.
- To jest golf golfowy , więc wygrywa najkrótsza odpowiedź w bajtach!
- Standardowe luki zabronione
Jeśli masz jakieś pytania dotyczące tego wyzwania, zapytaj mnie w komentarzach i powodzenia!
let answers = $('div > h1').map(function(){return $(this).clone().children(':not(a)').remove().end().text().replace(/\s+/g,' ').trim()}).get();answers.splice(0, 1);answers.join('\n');
$("div > h1").map(function(){return $(this).text()}).get().join("\n");do konsoli!