Skip to content

Commit eaa46ae

Browse files
author
Gonzalo Diaz
committed
[REFACTOR] [Hacker Rank] Warmup: Time Conversion solved ✅. Triying to fix sonarlint detected issues.
1 parent 9e7ae10 commit eaa46ae

File tree

1 file changed

+7
-26
lines changed

1 file changed

+7
-26
lines changed

src/lib/exercises/src/hackerrank/warmup/time_conversion.c

Lines changed: 7 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,6 @@
88
#include <stdlib.h>
99
#include <string.h>
1010

11-
char *HACKERRANK_WARMUP_firstN(const char *s, unsigned long n) {
12-
if (s == NULL) {
13-
return NULL;
14-
}
15-
16-
unsigned long len = strlen(s);
17-
if (n > len) {
18-
return NULL;
19-
}
20-
if (n == 0) {
21-
return NULL;
22-
}
23-
24-
char *result = (char *)malloc((n + 1) * sizeof(char));
25-
if (result == NULL) {
26-
return NULL;
27-
}
28-
29-
strncpy(result, s, n);
30-
31-
result[n] = '\0';
32-
33-
return result;
34-
}
35-
3611
char *HACKERRANK_WARMUP_lastN(const char *s, unsigned long n) {
3712
unsigned long len = strlen(s);
3813
if (n > len) {
@@ -58,6 +33,11 @@ char *HACKERRANK_WARMUP_getFirst(const char *s, unsigned long n) {
5833
return HACKERRANK_WARMUP_getStringFragment(s, strlen(s), 0, n);
5934
}
6035

36+
char *HACKERRANK_WARMUP_getLast(const char *s, unsigned long n) {
37+
unsigned long len = strlen(s);
38+
return HACKERRANK_WARMUP_getStringFragment(s, len, len - n, n);
39+
}
40+
6141
char *HACKERRANK_WARMUP_getStringFragment(const char *s, unsigned long len,
6242
unsigned long from,
6343
unsigned long to) {
@@ -82,6 +62,7 @@ char *HACKERRANK_WARMUP_getStringFragment(const char *s, unsigned long len,
8262

8363
char *HACKERRANK_WARMUP_timeConversion(const char *s) {
8464
char *meridian = HACKERRANK_WARMUP_lastN(s, 2);
65+
// char *meridian = HACKERRANK_WARMUP_getLast(s, 2);
8566

8667
// char *hour_str = HACKERRANK_WARMUP_firstN(s, 2);
8768
char *hour_str = HACKERRANK_WARMUP_getFirst(s, 2);
@@ -98,7 +79,7 @@ char *HACKERRANK_WARMUP_timeConversion(const char *s) {
9879
temp_time_str = HACKERRANK_WARMUP_lastN(time_str, time_str_len - 2);
9980
free(time_str);
10081
time_str = temp_time_str;
101-
temp_time_str = HACKERRANK_WARMUP_firstN(time_str, time_str_len - 2);
82+
temp_time_str = HACKERRANK_WARMUP_getFirst(time_str, time_str_len - 2);
10283
free(time_str);
10384
time_str = temp_time_str;
10485

0 commit comments

Comments
 (0)