Giter Club home page Giter Club logo

rs.android-2021-stage1-task1's Introduction

Task 1

🎓 Task 1 состоит из трёх задач. Все заготовки задач находятся в корне проекта в папке src/main/kotlin. В каждой заготовке вам дан класс с открытым методом, в который вам нужно написать код для решения поставленной задачи.

structure_of_tasks

Для проверки задач написаны тесты. Находятся в папке src/test/kotlin. Тесты можно запускать разными способами. Например, выполнить таск Gradle: Gradle -> Tasks -> verification -> test. Тогда прогонятся все unit-тесты сразу:

launch test via Gradle

Или открыть класс с тестом и нажать на зелёный треугольник рядом с объявлением класса:

launch test via class

Если все тесты пройдены успешно 😺, они отмечаются зеленым значком:

launch test via class

иначе 🙀 - красным:

launch test via class

В последних версиях Android Studio (>= 4.2) убрали по-умолчанию построение дерева tasks Gradle. Поэтому вы можете не найти задачу test в Gradle -> Tasks -> verification -> test и тесты могут не запускаться.

Во-первых, эту несправедливость несложно поправить. Зайдите в File -> Settings -> Experimental и отключите Do not build Gradle task list during Gradle sync. Затем сделайте sync проекта с Gradle: File -> Sync Project with Gradle Files

Во-вторых, всегда можно запустить тесты в консоли, набрав ./gradlew test.

Если вы пришли к выводу, что выполнили максимум того что могли сделать, то сделайте Submit задачи через https://app.rs.school/

Условия задач

1) Happy Array

An array of integers is "sad" while it contains bad elements. Element of an array is bad if the sum of nearest elements is less than its value.

Example:

Sad array: 1, 5, 2, 7, 93, 8, 9, 3

Happy array: 1, 2, 7, 8, 9, 3

5 is bad element: 1 + 2 < 5

93 is bad element: 7 + 8 < 93

Let's make the array happy!

Nota Bene: first and last elements of the array are always happy.

Input: "Sad" array of integers

Output: "Happy" array of integers

2) Bill Counter

Anna and Brian are sharing a meal at a restaurant and they agree to split the bill equally. Brian wants to order something that Anna is allergic to though, and they agree that Anna won't pay for that item. Brian gets the check and calculates Anna's portion. You must determine if his calculation is correct. For example, assume the bill has the following prices: bill = [2, 4, 6] .Anna declines to eat item k = bill[2] which costs 6. If Brian calculates the bill correctly, Anna will pay (2 + 4)/2 = 3. If he includes the cost of , he will calculate (2 + 4 + 6)/2 = 6. In the second case, he should refund 3 to Anna.

Complete the function. It should print "Bon Appetit" if the bill is fairly split. Otherwise, it should print the amount of money that Brian owes Anna.

Input:

  • bill: An array of integers representing the cost of each item ordered
  • k: An integer representing the zero-based index of the item Anna doesn't eat
  • b: The amount of money that Anna contributed to the bill

Output: If Brian did not overcharge Anna, return "Bon Appetit"; otherwise, return the difference (i.e., b_charged - b_actual) that Brian must refund to Anna. This will always be a String (e.g. "10").

3) String Parser

Given a string with open-close brackets, which are [], <> or (). Find all the substrings substrings, that are met between the brackets.

Note that substring must be located between first met open and close bracket. As an example, for «(here is) some text)» the input would be «here is», not «(here is) some text)» due the second «)» bracket.

Input: String that might contain the following brackets: [], <>, ()

Output: An Array of Strings. Each element of the array must contain substring between the open-close bracket.

Sample Input:

«It’s [example] (string)»

Sample Output:

[«an», «example», «string»]

Nota Bene: Please, do not forget to handle situation with nested brackets (e.g. «(ipsum [dolor<] amet)>»).

👌

rs.android-2021-stage1-task1's People

Contributors

artem-bagritsevich avatar flinform avatar semigradsky avatar ziginsider avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.