aboutsummaryrefslogtreecommitdiff
path: root/challenge-285
diff options
context:
space:
mode:
authorMichael Manring <michael@manring>2024-09-02 23:39:36 +1000
committerMichael Manring <michael@manring>2024-09-02 23:39:36 +1000
commit8fc715b18240d9f1d24e4d07bf545dbd7d33aad9 (patch)
treef92e0aed8d540c95d532273a3b7950014fe62103 /challenge-285
parent6c3141c0a985d70f931356c3cdd6bd2c2e72a54d (diff)
downloadperlweeklychallenge-club-8fc715b18240d9f1d24e4d07bf545dbd7d33aad9.tar.gz
perlweeklychallenge-club-8fc715b18240d9f1d24e4d07bf545dbd7d33aad9.tar.bz2
perlweeklychallenge-club-8fc715b18240d9f1d24e4d07bf545dbd7d33aad9.zip
pwc285 - minor enhancement
Diffstat (limited to 'challenge-285')
-rw-r--r--challenge-285/pokgopun/go/ch-1.go7
-rw-r--r--challenge-285/pokgopun/go/ch-2.go8
-rw-r--r--challenge-285/pokgopun/python/ch-1.py12
-rw-r--r--challenge-285/pokgopun/python/ch-2.py5
4 files changed, 14 insertions, 18 deletions
diff --git a/challenge-285/pokgopun/go/ch-1.go b/challenge-285/pokgopun/go/ch-1.go
index 25e61b4565..886d188e63 100644
--- a/challenge-285/pokgopun/go/ch-1.go
+++ b/challenge-285/pokgopun/go/ch-1.go
@@ -48,9 +48,10 @@ type routes []route
func (rs routes) nc() string {
m := make(map[string]bool)
for _, v := range rs {
- m[v.src] = false
- _, ok := m[v.dst]
- if !ok {
+ if b, ok := m[v.src]; !ok || b {
+ m[v.src] = false
+ }
+ if _, ok := m[v.dst]; !ok {
m[v.dst] = true
}
}
diff --git a/challenge-285/pokgopun/go/ch-2.go b/challenge-285/pokgopun/go/ch-2.go
index 58a63ee266..7ed21d5f1e 100644
--- a/challenge-285/pokgopun/go/ch-2.go
+++ b/challenge-285/pokgopun/go/ch-2.go
@@ -64,13 +64,7 @@ func mc(a int) int {
for c50 := range a/50 + 1 {
for c25 := range (a-50*c50)/25 + 1 {
for c10 := range (a-50*c50-25*c25)/10 + 1 {
- for c5 := range (a-50*c50-25*c25-10*c10)/5 + 1 {
- for c1 := range (a - 50*c50 - 25*c25 - 10*c10 - 5*c5) + 1 {
- if 50*c50+25*c25+10*c10+5*c5+c1 == a {
- c++
- }
- }
- }
+ c += (a-50*c50-25*c25-10*c10)/5 + 1
}
}
}
diff --git a/challenge-285/pokgopun/python/ch-1.py b/challenge-285/pokgopun/python/ch-1.py
index fcebb07e89..5ae0781134 100644
--- a/challenge-285/pokgopun/python/ch-1.py
+++ b/challenge-285/pokgopun/python/ch-1.py
@@ -31,10 +31,14 @@ Task 2: Making Change
### solution by pokgopun@gmail.com
def nc(routes: tuple):
- srcs = tuple(e[0] for e in routes)
- for src, dst in routes:
- if dst not in srcs:
- return dst
+ dct = dict()
+ for src,dst in routes:
+ if dct.get(src,True):
+ dct[src] = False
+ dct.setdefault(dst,True)
+ for k,v in dct.items():
+ if v:
+ return k
return None
import unittest
diff --git a/challenge-285/pokgopun/python/ch-2.py b/challenge-285/pokgopun/python/ch-2.py
index 813b8cf378..54396ce3f7 100644
--- a/challenge-285/pokgopun/python/ch-2.py
+++ b/challenge-285/pokgopun/python/ch-2.py
@@ -55,10 +55,7 @@ def mc(amount: int):
for a50 in range(0,amount+1,50):
for a25 in range(0,amount-a50+1,25):
for a10 in range(0,amount-a50-a25+1,10):
- for a5 in range(0,amount-a50-a25-a10+1,5):
- for a1 in range(0,amount-a50-a25-a10-a5+1,1):
- if a50 + a25 + a10 + a5 + a1 == amount:
- c += 1
+ c += (amount-a50-a25-a10)//5 + 1
return c
import unittest