arknmax 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 882bb6fc940fd0d5a0d6ad08cd652fbe32fd6c56b4687b2dcf822e0c6e4d5bd4
4
- data.tar.gz: c1505954d259c8e4d7ea9d3b03f33ed37727362a62be17c98886ee8d5029849b
3
+ metadata.gz: 479ee69d76bc30a6ba46ce37b74adebd488a64f59fb7a29c151004e2924b20fc
4
+ data.tar.gz: c84eecdfd47bfe4821326530889601cc02fc18228ba557b6eedce733efba8b1b
5
5
  SHA512:
6
- metadata.gz: 62f20424845de651e02acbd2a74ad35d449afbc833d0f430f6d57c103c899a47dc53388bc5f882b8a125a33da35cdecb8d29c5132d860002d0b440f0d128c8aa
7
- data.tar.gz: 4e64c7f6aaed05e6b3799aeec138d2ffa0d55b8269ad9320b4543b925924355d714c18ebff415c9e486b1e0c21832a361465162e2b324a748e10dee244c5b737
6
+ metadata.gz: 6fea367e8e48dac79bf447f8a4cc78b433fada868bf08af835bd933faa2728181d4208a5dbf44a16eab00fd94cc2d1dca8bdd8c9311f675dbbeabc9aca110b14
7
+ data.tar.gz: a130b46a3f474b3e66f2f1f6d949cddaa8be72f66619fb4170d691d8c07070ef44f464de113b72dd1738cda53885b5c3ec9eb8a06f03afb4ea6b04d8de8758fa
data/README.md CHANGED
@@ -12,3 +12,15 @@ This is a simple realisation of nmax function
12
12
  ## Usage
13
13
 
14
14
  $ cat bigfile.txt | arknmax 10
15
+
16
+ ## Описание задачи
17
+
18
+ Напишите скрипт nmax, который делает следующее:
19
+ - читает из входящего потока текстовые данные;
20
+ - по завершении ввода выводит n самых больших целых чисел, встретившихся в полученных текстовых данных.
21
+ Дополнительные указания:
22
+ - числом считается любая непрерывная последовательность цифр в тексте;
23
+ - известно, что чисел длиннее 1000 цифр во входных данных нет;
24
+ - число n должно быть единственным параметром скрипта;
25
+ - код должен быть покрыт тестами;
26
+ - код должен быть оформлен в виде гема (содержащего исполняемый файл, код модулей и т.д.).
@@ -14,6 +14,8 @@ module Arknmax
14
14
  end
15
15
 
16
16
  def <<(num)
17
+ return if limit_reached? && new_value_too_low?(num)
18
+
17
19
  data_structure.push(num)
18
20
 
19
21
  cut_extra_size! if overlimit?
@@ -39,8 +41,16 @@ module Arknmax
39
41
  data_structure.length > size_limit
40
42
  end
41
43
 
44
+ def limit_reached?
45
+ data_structure.length >= size_limit
46
+ end
47
+
42
48
  def cut_extra_size!
43
49
  data_structure.pop
44
50
  end
51
+
52
+ def new_value_too_low?(num)
53
+ data_structure.min >= num
54
+ end
45
55
  end
46
56
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Arknmax
4
- VERSION = '0.0.1'
4
+ VERSION = '0.0.2'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arknmax
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - A.A.Abroskin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-03 00:00:00.000000000 Z
11
+ date: 2018-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: algorithms