LeetCode Çözümleri – 1544. Make The String Great

LeetCode içerisinde bulunan “Make The String Great” sorusunun açıklaması ve çözümü. Bu soruda sizi verilen bir string‘i, “iyi” bir string yapmanız gerekiyor. Bu da string’i, birbirini takip eden aynı karakterlerden – fakat biri küçük diğer büyük harf olacak şekilde – arındırmanız demek.

► LeetCode 1544. Make The String Great: https://leetcode.com/problems/make-the-string-great/

► Problem açıklaması:

Given a string s of lower and upper case English letters.

A good string is a string which doesn’t have two adjacent characters s[i] and s[i + 1] where:

0 <= i <= s.length – 2

s[i] is a lower-case letter and s[i + 1] is the same letter but in upper-case or vice-versa.

To make the string good, you can choose two adjacent characters that make the string bad and remove them. You can keep doing this until the string becomes good.

Return the string after making it good. The answer is guaranteed to be unique under the given constraints.

Notice that an empty string is also good.

Example 1:

Input: s = “leEeetcode”

Output: “leetcode”

Explanation: In the first step, either you choose i = 1 or i = 2, both will result “leEeetcode” to be reduced to “leetcode”.

Example 2:

Input: s = “abBAcC”

Output: “”

Explanation: We have many possible scenarios, and all lead to the same answer. For example:

“abBAcC” — “aAcC” — “cC” — “”

“abBAcC” — “abBA” — “aA” — “”

Example 3:

Input: s = “s”

Output: “s”

LeetCode Çözümleri – 1137. N-th Tribonacci Number

LeetCode içerisinde bulunan “N-th Tribonacci Number” sorusunun açıklaması ve çözümü. Bu soruda Tribonacci serisinin n. elemanını bulmanız isteniyor.

► LeetCode 1137. N-th Tribonacci Number: https://leetcode.com/problems/n-th-tribonacci-number/

► Problem açıklaması:

The Tribonacci sequence Tn is defined as follows:

T0 = 0, T1 = 1, T2 = 1, and Tn+3 = Tn + Tn+1 + Tn+2 for n >= 0.

Given n, return the value of Tn.

Example 1:

Input: n = 4

Output: 4

Explanation:

T_3 = 0 + 1 + 1 = 2

T_4 = 1 + 1 + 2 = 4

Example 2:

Input: n = 25

Output: 1389537

Constraints:

0 <= n <= 37

The answer is guaranteed to fit within a 32-bit integer, ie. answer lessEqual 2^31 – 1.

LeetCode Çözümleri – 459. Repeated Substring Pattern

LeetCode içerisinde bulunan “Repeated Substring Pattern” sorusunun açıklaması ve çözümü. Bu soruda size verilen string‘in belirli bir string’in kendini tekrar etmesi ile oluşup oluşmadığı soruluyor.

► LeetCode 459. Repeated Substring Pattern: https://leetcode.com/problems/repeated-substring-pattern/

► Problem açıklaması:

Given a string s, check if it can be constructed by taking a substring of it and appending multiple copies of the substring together.

Example 1:

Input: s = “abab”

Output: true

Explanation: It is the substring “ab” twice.

Example 2:

Input: s = “aba”

Output: false

Example 3:

Input: s = “abcabcabcabc”

Output: true

Explanation: It is the substring “abc” four times or the substring “abcabc” twice.

Constraints:

1 <= s.length <= 10^4

s consists of lowercase English letters.

HackerRank Çözümleri – Chocolate Feast

HackerRank içerisinde bulunan “Chocolate Feast” sorusunun açıklaması ve çözümü. Bu soruda size verilen bir çikolata dükkanı için, belirli bir sayıda çikolata kabı getirdiğinizde belirli bir sayıda çikolata barı alabileceğiniz, belirli bir sayıda çikolata ile maksimum promosyonlar ile birlikte kaç adet çikolata yiyebileceğinizi hesaplamanız isteniyor.

► HackerRank – Chocolate Feast: https://www.hackerrank.com/challenges/chocolate-feast/problem

► Problem açıklaması:

Little Bobby loves chocolate. He frequently goes to his favorite 5&10 store, Penny Auntie, to buy them. They are having a promotion at Penny Auntie. If Bobby saves enough wrappers, he can turn them in for a free chocolate.

Example

n = 15

c = 3

m = 2

He has 15 to spend, bars cost 3, and he can turn in 2 wrappers to receive another bar. Initially, he buys 5 bars and has 5 wrappers after eating them. He turns in 4 of them, leaving him with 1, for 2 more bars. After eating those two, he has 3 wrappers, turns in 2 leaving him with 1 wrapper and his new bar. Once he eats that one, he has 2 wrappers and turns them in for another bar. After eating that one, he only has 1 wrapper, and his feast ends. Overall, he has eaten 5 + 2 + 1 + 1 = 9 bars.

Function Description

Complete the chocolateFeast function in the editor below.

chocolateFeast has the following parameter(s):

int n: Bobby’s initial amount of money

int c: the cost of a chocolate bar

int m: the number of wrappers he can turn in for a free bar

Returns

int: the number of chocolates Bobby can eat after taking full advantage of the promotion

Note: Little Bobby will always turn in his wrappers if he has enough to get a free chocolate.

Sample Input

STDIN Function

—– ——–

3 t = 3 (test cases)

10 2 5 n = 10, c = 2, m = 5 (first test case)

12 4 4 n = 12, c = 4, m = 4 (second test case)

6 2 2 n = 6, c = 2, m = 2 (third test case)

Sample Output

6

3

5

LeetCode Çözümleri – 1154. Day of the Year

LeetCode içerisinde bulunan “Day of the Year” sorusunun açıklaması ve çözümü. Bu soruda size verilen string‘in gösterdiği tarihin yılın kaçıncı günü olduğunu bulmanız isteniyor.

► LeetCode 1154. Day of the Year: https://leetcode.com/problems/day-of-the-year/

► Problem açıklaması: Given a string date representing a Gregorian calendar date formatted as YYYY-MM-DD, return the day number of the year.

Example 1:

Input: date = “2019-01-09”

Output: 9

Explanation: Given date is the 9th day of the year in 2019.

Example 2: Input: date = “2019-02-10” Output: 41

Example 3: Input: date = “2003-03-01” Output: 60

Example 4: Input: date = “2004-03-01” Output: 61

Constraints:

date.length == 10

date[4] == date[7] == ‘-‘, and all other date[i]’s are digits

date represents a calendar date between Jan 1st, 1900 and Dec 31, 2019.

LeetCode Çözümleri – 485. Max Consecutive Ones

LeetCode içerisinde bulunan “Max Consecutive Ones” sorusunun açıklaması ve çözümü. Bu soruda size verilen bir tam sayı dizisi içerisinde (1 ve 0’lardan oluşan) yan yana olan 1’lerin en uzun hali soruluyor.

► LeetCode 228. 485. Max Consecutive Ones: https://leetcode.com/problems/max-consecutive-ones/

► Problem açıklaması:

Given a binary array nums, return the maximum number of consecutive 1’s in the array.

Example 1:

Input: nums = [1,1,0,1,1,1]

Output: 3

Explanation: The first two digits or the last three digits are consecutive 1s. The maximum number of consecutive 1s is 3.

Example 2:

Input: nums = [1,0,1,1,0,1]

Output: 2

Constraints:

1 <= nums.length <= 10^5

nums[i] is either 0 or 1.

HackerRank Çözümleri – Repeated String

HackerRank içerisinde bulunan “Repeated String” sorusunun açıklaması ve çözümü. Bu soruda size verilen bir string ve n sayısı için, verilen string’i n uzunlukta olacak şekilde karakterlerini yazarak sonuç string’inde kaç tane ‘a’ karakteri olduğunu bulmanız isteniyor.

► HackerRank – Repeated String: https://www.hackerrank.com/challenges/repeated-string/problem

► Problem açıklaması:

There is a string, s, of lowercase English letters that is repeated infinitely many times. Given an integer, n, find and print the number of letter a’s in the first n letters of the infinite string.

Example

s = ‘abcac’

n = 10

The substring we consider is abcacabcac, the first 10 characters of the infinite string. There are 4 occurrences of a in the substring.

Function Description

Complete the repeatedString function in the editor below.

repeatedString has the following parameter(s):

s: a string to repeat

n: the number of characters to consider

Returns

int: the frequency of a in the substring

Input Format

The first line contains a single string, s.

The second line contains an integer, n.

Sample Input

Sample Input 0

aba

10

Sample Output 0

7

Explanation 0

The first n = 10 letters of the infinite string are abaabaabaa. Because there are 7 a’s, we return 7.

Sample Input 1

a

1000000000000

Sample Output 1

1000000000000

Explanation 1

Because all of the first n = 1000000000000 letters of the infinite string are a, we return 1000000000000 .