Lists - More Exercise, 01. Messaging
Здравейте, може ли малко помощ за тази задача ? Вероятно логиката ми е грешна, направих всички тестове, за които се сетих но ми дава 40/100.
благодаря !
https://pastebin.com/Se6xRzvZ
Здравейте, може ли малко помощ за тази задача ? Вероятно логиката ми е грешна, направих всички тестове, за които се сетих но ми дава 40/100.
благодаря !
https://pastebin.com/Se6xRzvZ
Дай линк към условието.
using System;
using System.Collections.Generic;
using System.Linq;
class SoftUni {
static void Main() {
List<int> nums = Console.ReadLine().Split().Select(int.Parse).ToList();
List<char> str = new List<char>();
str.AddRange(Console.ReadLine());
for (int i = 0; i < nums.Count; ++i) {
int sum = 0;
while (nums[i] != 0) {
sum += nums[i] % 10;
nums[i] /= 10;
}
int times = sum / str.Count;
sum = sum - times * str.Count;
Console.Write(str[sum]);
str.RemoveAt(sum);
}
}
}
C# 100/100
Оставям едно работещо решение в случай, че някой има нужда:
package L5_Lists_More_Ex; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Scanner; import java.util.stream.Collectors; public class Messaging { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String[] currentNumber = scanner.nextLine().split(""); List<String> text = Arrays.stream(scanner.nextLine().split("")) .collect(Collectors.toList()); int sum = 0; int countDelete = 0; for (int i = 0; i < currentNumber.length; i++) { char currentChar = currentNumber[i].charAt(0); if (currentChar != 32) { sum += Integer.parseInt(currentNumber[i]); } if (currentChar == 32 || i == currentNumber.length - 1) { int counter = 0; if (text.size() - 1 == 0) { System.out.print(" "); text.remove(0); break; } for (int j = 0; j < text.size(); j++) { if (j == text.size() - 1) { j = 0; } //counter++; if (j == sum) { System.out.print(text.get(j)); text.remove(j); sum = 0; break; } else if (counter == sum) { if ((int)text.indexOf(j-1)== -1){ System.out.print(text.get(text.size()-1)); break; } else { System.out.print(text.get(j-1)); text.remove(text.get(j-1)); sum = 0; break; } } counter++; } } } } }