Hackerrank – Popis problému
Celý popis zadania sa nacháza – Hackerrank.
Riešenie
Vždy si vyberiem k-ticu po sebe idúcich čísel. Urobím súčin číslic v k-tici a porovnám s aktuálnym maximom. Opakujem dovtedy, kým už neviem nájsť ďalšiu k-ticu. Vypíšem maximum.
Vytvoril som riešenie v týchto programovacích jazykoch:
Všetky riešenia sú dostupné aj na mojom GitHub profile.
Java
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 |
import java.util.Scanner; public class LargestProduct { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int tests = scanner.nextInt(); for (int i = 0; i < tests; i++) { int n = scanner.nextInt(); int k = scanner.nextInt(); String number = scanner.next(); long max = 0; for (int j = 0; j < n - k; j++) { long product = 1; for (int l = j; l < j + k; l++) { product *= Integer .parseInt(String.valueOf(number.charAt(l))); } if(product > max) { max = product; } } System.out.println(max); } scanner.close(); } } |