?

Log in

No account? Create an account

9.Май, 2019


Previous Entry Поделиться
13:06 - Challenge #1 week 6
#Create a script which takes a list of numbers from command line and 
#print the same in the compact form. For example, 
#if you pass “1,2,3,4,9,10,14,15,16” then it should print the compact form like “1-4,9,10,14-16”.



# perl -le '$n = $ARGV[0]; foreach(@ARGV) { if ($n++ == $_) { push @{$a[$k]},$_; } else { push @{$a[++$k]},$_; $n=$_+1} } END{ print join",", map { "$_->[0]-$_->[-1]" } @a}' 1 2 3 4 7 8 10 11 12 13     
1-4,7-8,10-13
#


Аргументы должны быть уже сортированными.

(2 комментария | Оставить комментарий)

Comments:


[User Picture]
From:ico
Date:9.Май,2019 12:56 pm
(Link)
но там написано же "Create a script", а не "Create a one command line" :)
На олимпиадах я такое заворачивал сразу :)
[User Picture]
From:ocehb
Date:10.Май,2019 03:06 am
(Link)
Там все пишут скрипты, надо быть более оригинальным :)
И потом, я ведь оставляю пробелы!
Challenge #1 week 6 - Записки проperl — ЖЖ

> Свежие записи
> Архив
> Друзья
> Личная информация


> Go to Top
LiveJournal.com