Skip to content

Commit f19d413

Browse files
committed
PHP and Javascript solutions to easy challenge #163 - Big digits
1 parent c204977 commit f19d413

File tree

3 files changed

+106
-0
lines changed

3 files changed

+106
-0
lines changed

easy/163 - Big digits/163.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// https://www.codeeval.com/open_challenges/163/
2+
3+
4+
var tmp = "-**----*--***--***---*---****--**--****--**---**--\n*--*--**-----*----*-*--*-*----*-------*-*--*-*--*-\n*--*---*---**---**--****-***--***----*---**---***-\n*--*---*--*-------*----*----*-*--*--*---*--*----*-\n-**---***-****-***-----*-***---**---*----**---**--\n--------------------------------------------------";
5+
6+
var i, j;
7+
var tmp = tmp.split("\n");
8+
var big_digits = [];
9+
for(i = 0 ; i < 6 ; i++ ){
10+
var line = tmp[i].trim();
11+
for(j = 0 ; j <= 9 ; j++ ){
12+
if( 'undefined' === typeof(big_digits[j]) ){
13+
big_digits[j] = [];
14+
}
15+
big_digits[j].push( line.substr(j * 5, 5) );
16+
}
17+
}
18+
19+
var fs = require("fs");
20+
fs.readFileSync(process.argv[2]).toString().split('\n').forEach(function (line) {
21+
line = line.trim();
22+
if( line !== '' ){
23+
var digits = line.replace(/[^0-9]+/g,'');
24+
var result = '';
25+
var len = digits.length;
26+
for(i = 0 ; i < 6 ; i++ ){
27+
for( j = 0; j < len ; j++ ){
28+
result += big_digits[digits[j]][i];
29+
}
30+
result += "\n";
31+
}
32+
console.log(result.trim());
33+
}
34+
});

easy/163 - Big digits/163.php

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
<?php
2+
header('Content-Type: text/plain; charset=utf-8');
3+
4+
// https://www.codeeval.com/open_challenges/163/
5+
6+
$tmp = '-**----*--***--***---*---****--**--****--**---**--
7+
*--*--**-----*----*-*--*-*----*-------*-*--*-*--*-
8+
*--*---*---**---**--****-***--***----*---**---***-
9+
*--*---*--*-------*----*----*-*--*--*---*--*----*-
10+
-**---***-****-***-----*-***---**---*----**---**--
11+
--------------------------------------------------';
12+
13+
$tmp = explode("\n", $tmp);
14+
$big_digits = array();
15+
for($i = 0 ; $i < 6 ; $i++ ){
16+
$line = trim($tmp[$i]);
17+
for($j = 0 ; $j <= 9 ; $j++ ){
18+
$big_digits[$j][] = substr($line, $j * 5, 5);
19+
}
20+
}
21+
22+
if( isset($_GET['f_i_l_e']) && $_GET['f_i_l_e'] ) $argv[1] = $_GET['f_i_l_e'];
23+
24+
if( isset($argv[1]) && $argv[1] ){
25+
$filename = $argv[1];
26+
if( file_exists($filename) ){
27+
if( is_readable($filename) ){
28+
$fp = fopen($filename, 'r');
29+
if( $fp ){
30+
while ( $fp && !feof( $fp ) ) {
31+
$line = trim(fgets($fp));
32+
if( $line !== '' ){
33+
$digits = preg_replace('/[^0-9]+/','',$line);
34+
$result = '';
35+
$len = strlen($digits);
36+
37+
for($i = 0 ; $i < 6 ; $i++ ){
38+
for( $j=0; $j < $len ; $j++){
39+
$result .= $big_digits[$digits[$j]][$i];
40+
}
41+
$result .= "\n";
42+
}
43+
echo $result;
44+
45+
}
46+
47+
}//
48+
fclose( $fp );
49+
}
50+
else{
51+
echo '!fp'."\n";
52+
}
53+
}
54+
else{
55+
echo '!readable'."\n";
56+
}
57+
}
58+
else{
59+
echo '!file_exists'."\n";
60+
}
61+
}
62+
else{
63+
echo '!argv[1]'."\n";
64+
}
65+
exit(0);
66+
67+
?>

easy/163 - Big digits/test.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
3.1415926
2+
1.41421356
3+
01-01-1970
4+
2.7182818284
5+
4 8 15 16 23 42

0 commit comments

Comments
 (0)