Ruby/Практикум/Строки: различия между версиями
Нет описания правки |
Drawiz (обсуждение | вклад) откат вандализма |
||
Строка 1: | Строка 1: | ||
== Строки == |
|||
'''Искусственное дыхание''' — комплекс мер, направленных на поддержание оборота воздуха через легкие у человека (или животного), переставшего дышать. Может производиться с помощью аппарата искусственного дыхания, либо человеком (дыхание изо рта в рот). Обычно совмещается с [[искусственный массаж сердца|искусственным массажем сердца]]. Типичные ситуации, в которых требуется искусственное дыхание: несчастные случаи в результате автомобильных аварий, происшествия на воде, поражение электрическим током, утопление. Аппарат искусственного дыхания используется также в хирургических операциях. |
|||
=== Дана строка в которой числа перечислены через пробел. Необходимо найти максимальное из этих чисел. === |
|||
=== Искусственное дыхание «рот-в-рот» === |
|||
[[Изображение:ArificialBreath.JPG|thumb|260 px|right|Искусственное дыхание «рот-в-рот»]] |
|||
Наиболее эффективный способ искусственного дыхания. |
|||
# Спасите пострадавшего, уберите от него ток, если он им поражён, вытащите из воды при утоплении, обеспечьте его безопасность. |
|||
# Положите пострадавшего на спину. Откройте ему рот, следите, чтобы язык не закрывал гортань. |
|||
# Одной рукой удерживайте голову и шею пострадавшего, другой зажмите его нос. Глубоко вдохните и, плотно прижавшись ртом ко рту, сделайте выдох. |
|||
# Первые 5—10 выдохов делайте быстро (за 20—30 с), следующие— со скоростью 12—15 выдохов в минуту. |
|||
# Следите за движением грудной клетки пострадавшего: если после вашего выдоха в рот его грудная клетка поднялась, значит, дыхательные пути проходимы и искусственное дыхание вы делаете правильно. |
|||
# Если нет пульса, параллельно с искусственным дыханием необходимо делать массаж сердца. |
|||
'''Возможное решение:''' |
|||
=== Искусственное дыхание «рот-в-нос» === |
|||
Проводится, если рот спасаемого повреждён или по каким-либо причинам нельзя использовать метод «рот-в-рот». Не так эффективно, как искусственное дыхание «рот-в-рот», «рот-в-нос» также способно спасти человека. |
|||
<source lang=ruby>s = "123 123 3254 2345 13" |
|||
== См. также == |
|||
p( s.split(" ").map{ |m| m.to_i }.max )</source> |
|||
* [[Реанимация]] |
|||
* [[Искусственный массаж сердца]] |
|||
'''Замечания по решению:''' |
|||
[[Категория:Дыхание]] |
|||
[[Категория:Медицина]] |
|||
[[Категория:Первая помощь]] |
|||
[[Категория:Искусственное дыхание]] |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>a = "5 6 42 31 93 4" |
|||
m = a.split(" ") |
|||
p( m.map{ |i| i.to_i }.max )</source> |
|||
'''Замечания по решению:''' |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>cTpoka = "134 2134 1234 1234 123422 2342" |
|||
a = cTpoka.split(" ") |
|||
p( a.map{ |i| i.to_i }.max )</source> |
|||
'''Замечания по решению:''' |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>s="1 2 8 4" |
|||
p s.split(/ /).max</source> |
|||
'''Замечания по решению:''' Решение неверно. |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>s="1 12 41 8" |
|||
p s.split.map(&:to_i).max</source> |
|||
'''Замечания по решению:''' Ruby 1.9 |
|||
=== Дана строка. Необходимо найти общее количество русских символов. === |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>str = "ывfgфеф" |
|||
p( str.split("").select{ |n| ( n>="а" || n>="А" )&&( n<= "я" || n<="Я" ) }.size )</source> |
|||
'''Замечания по решению:''' |
|||
Нижеследующее проще. |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>str = "ывfgфеф" |
|||
p str.scan(/[А-я]/).size</source> |
|||
'''Замечания по решению:''' |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>str = "ывЛgфmю" |
|||
p str.count "А-я"</source> |
|||
'''Замечания по решению:''' |
|||
Ruby 1.9.1 |
|||
=== Дана строка, состоящая из символов латиницы. Необходимо проверить, упорядочены ли строчные символы этой строки по возрастанию. === |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>str = "lol" |
|||
a = str.split("") |
|||
b = a.select{ |i| ("a".."z").include?(i) } |
|||
p( b == b.sort )</source> |
|||
'''Замечания по решению:''' |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>cTpoka = "acBdeFg" |
|||
bb = ("A".."Z").to_a |
|||
sbb = cTpoka.split("") - bb |
|||
p( sbb == sbb.sort )</source> |
|||
'''Замечания по решению:''' |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>str = "acBdeFg" |
|||
a=str.scan(/[a-z]/) |
|||
p a==a.sort</source> |
|||
'''Замечания по решению:'''Решение правильно частично. Правильное решение |
|||
<source lang=ruby>str = "acBdeFg" |
|||
a=str.scan(/\w/) |
|||
p a==a.sort</source> |
|||
'''Замечания по решению:''' Нифига подобного. Решение правильное. "\w" кроме строчных латинских букв еще включает прописные, а они отбрасываются по условию. |
|||
=== Дана строка в которой слова записаны через пробел. Необходимо перемешать все слова этой строки в случайном порядке. === |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>str="Point Line Triangle Square Pentagon" |
|||
puts str.split(" ").sort_by{ rand }.join(" ")</source> |
|||
'''Замечания по решению:''' |
|||
=== Дана строка. Необходимо проверить, является ли она палиндромом. === |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>cTpoka = "бред" |
|||
p( cTpoka.reverse.eql?( cTpoka ) )</source> |
|||
'''Замечания по решению:''' |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>a = "geg" |
|||
p( a.reverse == a )</source> |
|||
'''Замечания по решению:''' |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>str="Are we not drawn onward, we few, drawn onward to new era?" |
|||
str2 = str.downcase.scan(/\w+/).join |
|||
p str2.reverse == str2</source> |
|||
'''Замечания по решению:''' |
|||
Работает только для латиницы. |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>str="а роза упала на лапу азора" |
|||
p str.delete(" ").reverse == str.delete(" ")</source> |
|||
'''Замечания по решению:''' |
|||
Работает для палиндромов, не содержащих символы в разных регистрах и знаки препинания. |
|||
=== Дана строка. Необходимо перемешать все символы строки в случайном порядке. === |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>a = "privet poka" |
|||
p a.split("").sort_by{rand}.to_s</source> |
|||
'''Замечания по решению:''' |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>s = "134saddfs a123" |
|||
puts s.split("").sort_by{rand}.join</source> |
|||
'''Замечания по решению:''' |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>cTpoka="всякий бред" |
|||
maccuB=cTpoka.split("") |
|||
maccuB=maccuB.sort_by{rand} |
|||
puts maccuB.to_s</source> |
|||
'''Замечания по решению:''' |
|||
=== Дана строка в которой записаны слова через пробел. Необходимо перемешать в каждом слове все символы в случайном порядке кроме первого и последнего. === |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>a = "start checking" |
|||
v = a.split(" ") |
|||
n = v.map{ |t| c = t[1..-2].split('').sort_by{ rand }.to_s; t[0..0] + c + t[-1..-1] } |
|||
p n.join(" ")</source> |
|||
'''Замечания по решению:''' |
|||
=== Дана строка, состоящая из символов латиницы. Необходимо проверить, образуют ли прописные символы этой строки палиндром. === |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>a = "123f" |
|||
b = a.reverse |
|||
p a == b</source> |
|||
'''Замечания по решению:''' |
|||
Решение неверное. Не учтено, что палиндром должны образовать прописные символы. |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>str = "PAS11asdsadsaHSAP" |
|||
a = str.split("").select{ |elem| (elem>="A")&&(elem<="Z") }.join |
|||
p( a == a.reverse )</source> |
|||
'''Замечания по решению:''' |
|||
Решение слишком громоздкое. Нет нужды преобразовывать строку в массив, а потом назад. |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>str = "PAS11asdsadsaHSAP" |
|||
a = str.scan(/[A-Z]/) |
|||
p a == a.reverse</source> |
|||
'''Замечания по решению:''' |
|||
=== Дана строка в которой записаны слова через пробел. Необходимо посчитать количество слов с четным количеством символов. === |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>str = "bla blah blah" |
|||
a = str.split |
|||
p a.select{ |n| n.size%2 == 0 }.size</source> |
|||
'''Замечания по решению:''' |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>stroka = "abc cbur cbo64" |
|||
a = stroka.split(" ").select{ |i| i.size % 2 == 0} |
|||
p( a.size )</source> |
|||
'''Замечания по решению:''' |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>m = "a aa aa a aa".split(" ") |
|||
p( m.select{ |i| i.size % 2 == 0 }.size )</source> |
|||
'''Замечания по решению:''' |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>string = "oguH gBa Tpu" |
|||
a = string.split(' ') |
|||
c = a.find_all{ |elem| elem.size%2 == 0 } |
|||
d = c.size |
|||
p d</source> |
|||
'''Замечания по решению:''' |
|||
=== Дана строка. Необходимо проверить образуют ли строчные символы латиницы палиндром. === |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>a = "Abbabb123" |
|||
b = ('A'..'Z').to_a + ('0'..'9').to_a + "!@\"$%^&*()_+-=`~{}[](),.;:|\//".split("") |
|||
p( ( a.split("") - b ).join("") == (a.split("") - b ).join("").reverse )</source> |
|||
'''Замечания по решению:''' |
|||
Просто жуть какая-то. |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>str = "Abbabb123" |
|||
a = str.scan /[a-z]/ |
|||
p a == a.reverse</source> |
|||
=== Дана строка. Необходимо подсчитать количество букв "А" в этой строке. === |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>cTpoka = "тестовая строка" |
|||
p( cTpoka.split("").select{ |i| i=="А" || i=="а" }.size )</source> |
|||
'''Замечания по решению:''' |
|||
Длинно. |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>str = "Abbabb123" |
|||
p str.scan(/[Aa]/).size</source> |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>str = "Abbabb123" |
|||
p str.count 'Aa'</source> |
|||
'''Замечания по решению:''' |
|||
Ruby 1.9.1 |
|||
=== Дана строка в которой записаны слова через пробел. Необходимо посчитать количество слов. === |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>m = "pa3 gBa Tpu" |
|||
p m.split(" ").size</source> |
|||
'''Замечания по решению:''' |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>cTpoka = "поезд ехал быстро" |
|||
p cTpoka.split.size</source> |
|||
'''Замечания по решению:''' |
|||
=== Дана строка в которой содержатся цифры и буквы. Необходимо расположить все цифры в начале строки, а буквы -- в конце. === |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>s = "абв1где25жзи" |
|||
mac = s.split("") |
|||
a,b = mac.partition{ |e| ("0".."9").include?(e) } |
|||
s_1 = a+b |
|||
puts( s_1.to_s )</source> |
|||
'''Замечания по решению:''' |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>cTpoka = "12а3буква" |
|||
puts cTpoka.split('').partition{ |elem| (elem >= "0")&&(elem <= "9") }.flatten.join("")</source> |
|||
'''Замечания по решению:''' |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>s = "абв1где25жзи" |
|||
print s.split('').sort.join</source> |
|||
'''Замечания по решению:''' |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>str="fghfg567fhf35fghf!*6111фыва8" |
|||
print str.split("").partition{|e| e=~/\d/}.flatten.join</source> |
|||
'''Замечания по решению:''' |
|||
=== Дана строка в которой записаны слова через пробел. Необходимо перемешать все слова в случайном порядке (спонсор задачи Мастер Йода). === |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>m = "pa3 gBa Tpu" |
|||
m.split(" ").sort_by{ rand }.join(" ")</source> |
|||
'''Замечания по решению:''' |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>cTpoka = "МИР ТРУД МАЙ" |
|||
puts cTpoka.split.sort_by{ rand }.join(" ")</source> |
|||
'''Замечания по решению:''' |
|||
=== Дана строка в которой записаны слова через пробел. Необходимо упорядочить слова по количеству букв в каждом слове. === |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>s="aa daaaa qaaa" |
|||
p s.split(/ /).sort_by{|i| i.size}.join(" ")</source> |
|||
'''Замечания по решению:''' |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>m = "i got co" |
|||
p m.split.sort_by(&:size).join(' ')</source> |
|||
'''Замечания по решению:''' |
|||
Ruby 1.9.1 |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>str = "slo va" |
|||
a = str.split(" ").sort_by{ |i| i.size } |
|||
p( a.to_s )</source> |
|||
'''Замечания по решению:''' |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>m = "Tpu gBa pa3" |
|||
m.split(" ").sort_by{ |str| str.size }</source> |
|||
'''Замечания по решению:''' |
|||
=== Дано натуральное число. Необходимо найти количество различных цифр в его десятичной записи. === |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>a = 123415 |
|||
b = a.to_s( 10 ).split("") |
|||
c = b.uniq |
|||
p c.size</source> |
|||
'''Замечания по решению:''' |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>a = 1234 |
|||
p a.to_s(10).split('').uniq.size</source> |
|||
'''Замечания по решению:''' |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>x = 12344721 |
|||
p( x.to_s.split('').uniq.size )</source> |
|||
'''Замечания по решению:''' |
|||
=== Дан массив в котором находятся строки "белый", "синий" и "красный" в случайном порядке. Необходимо упорядочить массив так, чтобы получился российский флаг. === |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>s = ["синий","белый","красный"] |
|||
puts s.sort.sort_by{ |i| i.size }</source> |
|||
'''Замечания по решению:''' |
|||
=== Дана строка в которой записан путь к файлу. Необходимо найти имя файла без расширения. === |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>a = "i/input/jnd/file.ext" |
|||
puts( a.split("/")[-1].split('.')[0] )</source> |
|||
'''Замечания по решению:''' |
|||
'''Возможное решение:''' |
|||
<source lang=ruby>a = "i/input/jnd/file.ext" |
|||
puts a.split(/\W/)[-2]</source> |
|||
'''Замечания по решению:''' Ошибка, если в имени файла присутствует точка. |
|||
[[Категория:Ruby|Практикум/Строки]] |
Версия от 19:09, 8 ноября 2009
Строки
Дана строка в которой числа перечислены через пробел. Необходимо найти максимальное из этих чисел.
Возможное решение:
s = "123 123 3254 2345 13"
p( s.split(" ").map{ |m| m.to_i }.max )
Замечания по решению:
Возможное решение:
a = "5 6 42 31 93 4"
m = a.split(" ")
p( m.map{ |i| i.to_i }.max )
Замечания по решению:
Возможное решение:
cTpoka = "134 2134 1234 1234 123422 2342"
a = cTpoka.split(" ")
p( a.map{ |i| i.to_i }.max )
Замечания по решению:
Возможное решение:
s="1 2 8 4"
p s.split(/ /).max
Замечания по решению: Решение неверно.
Возможное решение:
s="1 12 41 8"
p s.split.map(&:to_i).max
Замечания по решению: Ruby 1.9
Дана строка. Необходимо найти общее количество русских символов.
Возможное решение:
str = "ывfgфеф"
p( str.split("").select{ |n| ( n>="а" || n>="А" )&&( n<= "я" || n<="Я" ) }.size )
Замечания по решению: Нижеследующее проще.
Возможное решение:
str = "ывfgфеф"
p str.scan(/[А-я]/).size
Замечания по решению:
Возможное решение:
str = "ывЛgфmю"
p str.count "А-я"
Замечания по решению: Ruby 1.9.1
Дана строка, состоящая из символов латиницы. Необходимо проверить, упорядочены ли строчные символы этой строки по возрастанию.
Возможное решение:
str = "lol"
a = str.split("")
b = a.select{ |i| ("a".."z").include?(i) }
p( b == b.sort )
Замечания по решению:
Возможное решение:
cTpoka = "acBdeFg"
bb = ("A".."Z").to_a
sbb = cTpoka.split("") - bb
p( sbb == sbb.sort )
Замечания по решению:
Возможное решение:
str = "acBdeFg"
a=str.scan(/[a-z]/)
p a==a.sort
Замечания по решению:Решение правильно частично. Правильное решение
str = "acBdeFg"
a=str.scan(/\w/)
p a==a.sort
Замечания по решению: Нифига подобного. Решение правильное. "\w" кроме строчных латинских букв еще включает прописные, а они отбрасываются по условию.
Дана строка в которой слова записаны через пробел. Необходимо перемешать все слова этой строки в случайном порядке.
Возможное решение:
str="Point Line Triangle Square Pentagon"
puts str.split(" ").sort_by{ rand }.join(" ")
Замечания по решению:
Дана строка. Необходимо проверить, является ли она палиндромом.
Возможное решение:
cTpoka = "бред"
p( cTpoka.reverse.eql?( cTpoka ) )
Замечания по решению:
Возможное решение:
a = "geg"
p( a.reverse == a )
Замечания по решению:
Возможное решение:
str="Are we not drawn onward, we few, drawn onward to new era?"
str2 = str.downcase.scan(/\w+/).join
p str2.reverse == str2
Замечания по решению:
Работает только для латиницы.
Возможное решение:
str="а роза упала на лапу азора"
p str.delete(" ").reverse == str.delete(" ")
Замечания по решению:
Работает для палиндромов, не содержащих символы в разных регистрах и знаки препинания.
Дана строка. Необходимо перемешать все символы строки в случайном порядке.
Возможное решение:
a = "privet poka"
p a.split("").sort_by{rand}.to_s
Замечания по решению:
Возможное решение:
s = "134saddfs a123"
puts s.split("").sort_by{rand}.join
Замечания по решению:
Возможное решение:
cTpoka="всякий бред"
maccuB=cTpoka.split("")
maccuB=maccuB.sort_by{rand}
puts maccuB.to_s
Замечания по решению:
Дана строка в которой записаны слова через пробел. Необходимо перемешать в каждом слове все символы в случайном порядке кроме первого и последнего.
Возможное решение:
a = "start checking"
v = a.split(" ")
n = v.map{ |t| c = t[1..-2].split('').sort_by{ rand }.to_s; t[0..0] + c + t[-1..-1] }
p n.join(" ")
Замечания по решению:
Дана строка, состоящая из символов латиницы. Необходимо проверить, образуют ли прописные символы этой строки палиндром.
Возможное решение:
a = "123f"
b = a.reverse
p a == b
Замечания по решению: Решение неверное. Не учтено, что палиндром должны образовать прописные символы.
Возможное решение:
str = "PAS11asdsadsaHSAP"
a = str.split("").select{ |elem| (elem>="A")&&(elem<="Z") }.join
p( a == a.reverse )
Замечания по решению: Решение слишком громоздкое. Нет нужды преобразовывать строку в массив, а потом назад.
Возможное решение:
str = "PAS11asdsadsaHSAP"
a = str.scan(/[A-Z]/)
p a == a.reverse
Замечания по решению:
Дана строка в которой записаны слова через пробел. Необходимо посчитать количество слов с четным количеством символов.
Возможное решение:
str = "bla blah blah"
a = str.split
p a.select{ |n| n.size%2 == 0 }.size
Замечания по решению:
Возможное решение:
stroka = "abc cbur cbo64"
a = stroka.split(" ").select{ |i| i.size % 2 == 0}
p( a.size )
Замечания по решению:
Возможное решение:
m = "a aa aa a aa".split(" ")
p( m.select{ |i| i.size % 2 == 0 }.size )
Замечания по решению:
Возможное решение:
string = "oguH gBa Tpu"
a = string.split(' ')
c = a.find_all{ |elem| elem.size%2 == 0 }
d = c.size
p d
Замечания по решению:
Дана строка. Необходимо проверить образуют ли строчные символы латиницы палиндром.
Возможное решение:
a = "Abbabb123"
b = ('A'..'Z').to_a + ('0'..'9').to_a + "!@\"$%^&*()_+-=`~{}[](),.;:|\//".split("")
p( ( a.split("") - b ).join("") == (a.split("") - b ).join("").reverse )
Замечания по решению: Просто жуть какая-то.
Возможное решение:
str = "Abbabb123"
a = str.scan /[a-z]/
p a == a.reverse
Дана строка. Необходимо подсчитать количество букв "А" в этой строке.
Возможное решение:
cTpoka = "тестовая строка"
p( cTpoka.split("").select{ |i| i=="А" || i=="а" }.size )
Замечания по решению: Длинно.
Возможное решение:
str = "Abbabb123"
p str.scan(/[Aa]/).size
Возможное решение:
str = "Abbabb123"
p str.count 'Aa'
Замечания по решению: Ruby 1.9.1
Дана строка в которой записаны слова через пробел. Необходимо посчитать количество слов.
Возможное решение:
m = "pa3 gBa Tpu"
p m.split(" ").size
Замечания по решению:
Возможное решение:
cTpoka = "поезд ехал быстро"
p cTpoka.split.size
Замечания по решению:
Дана строка в которой содержатся цифры и буквы. Необходимо расположить все цифры в начале строки, а буквы -- в конце.
Возможное решение:
s = "абв1где25жзи"
mac = s.split("")
a,b = mac.partition{ |e| ("0".."9").include?(e) }
s_1 = a+b
puts( s_1.to_s )
Замечания по решению:
Возможное решение:
cTpoka = "12а3буква"
puts cTpoka.split('').partition{ |elem| (elem >= "0")&&(elem <= "9") }.flatten.join("")
Замечания по решению:
Возможное решение:
s = "абв1где25жзи"
print s.split('').sort.join
Замечания по решению:
Возможное решение:
str="fghfg567fhf35fghf!*6111фыва8"
print str.split("").partition{|e| e=~/\d/}.flatten.join
Замечания по решению:
Дана строка в которой записаны слова через пробел. Необходимо перемешать все слова в случайном порядке (спонсор задачи Мастер Йода).
Возможное решение:
m = "pa3 gBa Tpu"
m.split(" ").sort_by{ rand }.join(" ")
Замечания по решению:
Возможное решение:
cTpoka = "МИР ТРУД МАЙ"
puts cTpoka.split.sort_by{ rand }.join(" ")
Замечания по решению:
Дана строка в которой записаны слова через пробел. Необходимо упорядочить слова по количеству букв в каждом слове.
Возможное решение:
s="aa daaaa qaaa"
p s.split(/ /).sort_by{|i| i.size}.join(" ")
Замечания по решению:
Возможное решение:
m = "i got co"
p m.split.sort_by(&:size).join(' ')
Замечания по решению: Ruby 1.9.1
Возможное решение:
str = "slo va"
a = str.split(" ").sort_by{ |i| i.size }
p( a.to_s )
Замечания по решению:
Возможное решение:
m = "Tpu gBa pa3"
m.split(" ").sort_by{ |str| str.size }
Замечания по решению:
Дано натуральное число. Необходимо найти количество различных цифр в его десятичной записи.
Возможное решение:
a = 123415
b = a.to_s( 10 ).split("")
c = b.uniq
p c.size
Замечания по решению:
Возможное решение:
a = 1234
p a.to_s(10).split('').uniq.size
Замечания по решению:
Возможное решение:
x = 12344721
p( x.to_s.split('').uniq.size )
Замечания по решению:
Дан массив в котором находятся строки "белый", "синий" и "красный" в случайном порядке. Необходимо упорядочить массив так, чтобы получился российский флаг.
Возможное решение:
s = ["синий","белый","красный"]
puts s.sort.sort_by{ |i| i.size }
Замечания по решению:
Дана строка в которой записан путь к файлу. Необходимо найти имя файла без расширения.
Возможное решение:
a = "i/input/jnd/file.ext"
puts( a.split("/")[-1].split('.')[0] )
Замечания по решению:
Возможное решение:
a = "i/input/jnd/file.ext"
puts a.split(/\W/)[-2]
Замечания по решению: Ошибка, если в имени файла присутствует точка.