aboutsummaryrefslogtreecommitdiff
path: root/challenge-271/sgreen/python/ch-1.py
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-06-02 21:54:10 +0100
committerGitHub <noreply@github.com>2024-06-02 21:54:10 +0100
commit469f056359eca05892868ddc28e59b575cb4a085 (patch)
treed54be1b05904135d0edae1ffdbdeb17c842c9968 /challenge-271/sgreen/python/ch-1.py
parentaffca7cd56c23b0fafa86993a217fea4ed78bf1a (diff)
parent9570cd789d0f24fcfba65675b371c5feae0e3dc8 (diff)
downloadperlweeklychallenge-club-469f056359eca05892868ddc28e59b575cb4a085.tar.gz
perlweeklychallenge-club-469f056359eca05892868ddc28e59b575cb4a085.tar.bz2
perlweeklychallenge-club-469f056359eca05892868ddc28e59b575cb4a085.zip
Merge pull request #10187 from simongreen-net/master
sgreen solutions to challenge 271
Diffstat (limited to 'challenge-271/sgreen/python/ch-1.py')
-rwxr-xr-xchallenge-271/sgreen/python/ch-1.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/challenge-271/sgreen/python/ch-1.py b/challenge-271/sgreen/python/ch-1.py
new file mode 100755
index 0000000000..21f9744e1a
--- /dev/null
+++ b/challenge-271/sgreen/python/ch-1.py
@@ -0,0 +1,47 @@
+#!/usr/bin/env python3
+
+import json
+import sys
+
+
+def maximum_ones(matrix: list) -> int:
+ """
+ Finds the row with the maximum number of ones in a binary matrix.
+
+ Args:
+ matrix (list): A binary matrix represented as a list of lists.
+
+ Returns:
+ int: The 1-based index of the row with the maximum number of ones.
+ """
+
+ rows = len(matrix)
+ cols = len(matrix[0])
+
+ # The row that has the maximum values
+ max_row = 0
+
+ # The number of ones in that row
+ max_count = 0
+
+ for row in range(rows):
+ # Check this has the same number of columns as the first row
+ if len(matrix[row]) != cols:
+ raise ValueError("Row %s has the wrong number of columns", row)
+
+ if sum(matrix[row]) > max_count:
+ max_row = row
+ max_count = sum(matrix[row])
+
+ # Return the rows as a 1-based index value
+ return max_row + 1
+
+
+def main():
+ matrix = json.loads(sys.argv[1])
+ result = maximum_ones(matrix)
+ print(result)
+
+
+if __name__ == '__main__':
+ main()