aboutsummaryrefslogtreecommitdiff
path: root/challenge-098/perlboy1967/perl/ch-2.pl
blob: 55e6f3f44d67ca9bd6de8d9e4f1dda0dc379c7df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/perl

# Perl Weekly Challenge - 098
# - https://perlweeklychallenge.org/blog/perl-weekly-challenge-098/
#
# Task 2 - Search Insert Position
#
# Author: Niels 'PerlBoy' van Dijke

use v5.16;
use strict;
use warnings;

use List::MoreUtils qw(firstidx);

# Unbuffered STDOUT
$|++;

while (<DATA>) {
  chomp;

  my ($N, @N) = split(/,/);
  @N = sort(@N);

  my $idx = firstidx { $_ >= $N } @N;
  $idx = scalar(@N)
    if ($idx < 0);

  printf "Input: \@N = (%s) and \$N = %d\n", join(',', @N), $N;
  printf "Output: %d\n\n", $idx;
} 
 
__DATA__
3,1,3,2,4
6,1,7,5,3
10,14,12,16,18
19,15,13,11,17