Skip to content

Commit 7b9b844

Browse files
authored
Merge pull request #635 from sir-gon/refactor
Refactor
2 parents 39e06c6 + 967f8f6 commit 7b9b844

File tree

85 files changed

+272
-243
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+272
-243
lines changed

src/hackerrank/implementation/betweenTwoSets.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* @link Problem definition [[docs/hackerrank/implementation/betweenTwoSets.md]]
33
*/
44

5-
export function isFactor(n: number, group: number[]): boolean {
5+
function isFactor(n: number, group: number[]): boolean {
66
let result = true;
77
let i = 0;
88

@@ -19,7 +19,7 @@ export function isFactor(n: number, group: number[]): boolean {
1919
return result;
2020
}
2121

22-
export function factorOf(n: number, group: number[]): boolean {
22+
function factorOf(n: number, group: number[]): boolean {
2323
let result = true;
2424
let i = 0;
2525

@@ -36,7 +36,7 @@ export function factorOf(n: number, group: number[]): boolean {
3636
return result;
3737
}
3838

39-
export function getTotalX(a: number[], b: number[]): number {
39+
function getTotalX(a: number[], b: number[]): number {
4040
let max = 0;
4141
for (const j of b) {
4242
if (j > max) max = j;
@@ -53,4 +53,5 @@ export function getTotalX(a: number[], b: number[]): number {
5353
return result.length;
5454
}
5555

56-
export default { getTotalX };
56+
export default { getTotalX, factorOf, isFactor };
57+
export { getTotalX, factorOf, isFactor };

src/hackerrank/implementation/birthday.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import { logger as console } from '../../logger';
66

7-
export function birthday(s: number[], d: number, m: number): number {
7+
function birthday(s: number[], d: number, m: number): number {
88
let result = 0;
99
console.debug(`s: ${s.toString()}`);
1010

@@ -23,3 +23,4 @@ export function birthday(s: number[], d: number, m: number): number {
2323
}
2424

2525
export default { birthday };
26+
export { birthday };

src/hackerrank/implementation/bonAppetit.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import { logger as console } from '../../logger';
66

7-
export function bonAppetit(bill: number[], k: number, b: number): string {
7+
function bonAppetit(bill: number[], k: number, b: number): string {
88
const totalSum = bill.reduce(
99
(previousValue, currentValue) => previousValue + currentValue,
1010
0
@@ -25,3 +25,4 @@ export function bonAppetit(bill: number[], k: number, b: number): string {
2525
}
2626

2727
export default { bonAppetit };
28+
export { bonAppetit };

src/hackerrank/implementation/breakingRecords.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* @link Problem definition [[docs/hackerrank/implementation/breakingRecords.md]]
33
*/
44

5-
export function breakingRecords(scores: number[]): number[] {
5+
function breakingRecords(scores: number[]): number[] {
66
if (scores.length === 0) {
77
throw new Error('Empty input');
88
}
@@ -29,3 +29,4 @@ export function breakingRecords(scores: number[]): number[] {
2929
}
3030

3131
export default { breakingRecords };
32+
export { breakingRecords };

src/hackerrank/implementation/countApplesAndOranges.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* @link Problem definition [[docs/hackerrank/implementation/countApplesAndOranges.md]]
33
*/
44

5-
export function countApplesAndOranges(
5+
function countApplesAndOranges(
66
s: number,
77
t: number,
88
a: number,
@@ -33,3 +33,4 @@ export function countApplesAndOranges(
3333
}
3434

3535
export default { countApplesAndOranges };
36+
export { countApplesAndOranges };

src/hackerrank/implementation/countingValleys.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import { logger as console } from '../../logger';
66

7-
export function countingValleys(steps: number, path: string): number {
7+
function countingValleys(steps: number, path: string): number {
88
const stepList = path.split('');
99
let altitude = 0;
1010
let valleys = 0;
@@ -27,3 +27,4 @@ export function countingValleys(steps: number, path: string): number {
2727
}
2828

2929
export default { countingValleys };
30+
export { countingValleys };

src/hackerrank/implementation/dayOfProgrammer.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { MonthNumbers, daysInMonthNumber } from '../../constants';
88
const zeroPad = (num: number, places: number): string =>
99
String(num).padStart(places, '0');
1010

11-
export function dayOfProgrammer(year: number): string {
11+
function dayOfProgrammer(year: number): string {
1212
const dayToSearch = 256;
1313
let leap: number;
1414

@@ -52,3 +52,4 @@ export function dayOfProgrammer(year: number): string {
5252
}
5353

5454
export default { dayOfProgrammer };
55+
export { dayOfProgrammer };

src/hackerrank/implementation/divisibleSumPairs.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import { logger as console } from '../../logger';
66

7-
export function divisibleSumPairs(n: number, k: number, ar: number[]): number {
7+
function divisibleSumPairs(n: number, k: number, ar: number[]): number {
88
let pairs = 0;
99
for (let i = 0; i < ar.length; i++) {
1010
for (let j = i + 1; j < ar.length; j++) {
@@ -19,3 +19,4 @@ export function divisibleSumPairs(n: number, k: number, ar: number[]): number {
1919
}
2020

2121
export default { divisibleSumPairs };
22+
export { divisibleSumPairs };

src/hackerrank/implementation/gradingStudents.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* @link Problem definition [[docs/hackerrank/implementation/gradingStudents.md]]
33
*/
44

5-
export function gradingStudents(grades: number[]): number[] {
5+
function gradingStudents(grades: number[]): number[] {
66
const minimum = 38;
77
const roundTo = 5;
88
const result: number[] = [];
@@ -23,3 +23,4 @@ export function gradingStudents(grades: number[]): number[] {
2323
}
2424

2525
export default { gradingStudents };
26+
export { gradingStudents };

src/hackerrank/implementation/jumpingOnClouds.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import { logger as console } from '../../logger';
66

7-
export function jumpingOnClouds(c: number[]): number {
7+
function jumpingOnClouds(c: number[]): number {
88
let result = 0;
99
let key = 0;
1010

@@ -26,3 +26,4 @@ export function jumpingOnClouds(c: number[]): number {
2626
}
2727

2828
export default { jumpingOnClouds };
29+
export { jumpingOnClouds };

src/hackerrank/implementation/kangaroo.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,7 @@
22
* @link Problem definition [[docs/hackerrank/implementation/kangaroo.md]]
33
*/
44

5-
export function kangaroo(
6-
x1: number,
7-
v1: number,
8-
x2: number,
9-
v2: number
10-
): string {
5+
function kangaroo(x1: number, v1: number, x2: number, v2: number): string {
116
if (v1 === v2) {
127
if (x1 !== x2) return 'NO';
138
return 'YES';
@@ -23,3 +18,4 @@ export function kangaroo(
2318
}
2419

2520
export default { kangaroo };
21+
export { kangaroo };

src/hackerrank/implementation/migratoryBirds.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { logger as console } from '../../logger';
66

77
type Birds = Record<string, number>;
88

9-
export function migratoryBirds(arr: number[]): number {
9+
function migratoryBirds(arr: number[]): number {
1010
if (arr.length === 0) {
1111
throw new Error('Empty input');
1212
}
@@ -36,3 +36,4 @@ export function migratoryBirds(arr: number[]): number {
3636
}
3737

3838
export default { migratoryBirds };
39+
export { migratoryBirds };

src/hackerrank/implementation/minimumAbsoluteDifference.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import { logger as console } from '../../logger';
66

7-
export function minimumAbsoluteDifference(arr: number[]): number {
7+
function minimumAbsoluteDifference(arr: number[]): number {
88
if (arr.length === 0) {
99
throw new Error('Empty input');
1010
}
@@ -31,3 +31,4 @@ export function minimumAbsoluteDifference(arr: number[]): number {
3131
}
3232

3333
export default { minimumAbsoluteDifference };
34+
export { minimumAbsoluteDifference };

src/hackerrank/implementation/repeatedString.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import { logger as console } from '../../logger';
66

7-
export function countAs(word: string): number {
7+
function countAs(word: string): number {
88
let result = 0;
99

1010
const chars = word.split('');
@@ -18,7 +18,7 @@ export function countAs(word: string): number {
1818
return result;
1919
}
2020

21-
export function repeatedString(s: string, n: number): number {
21+
function repeatedString(s: string, n: number): number {
2222
let result = 0;
2323

2424
const blockSize = s.length;
@@ -32,4 +32,5 @@ export function repeatedString(s: string, n: number): number {
3232
return result;
3333
}
3434

35-
export default { countAs };
35+
export default { countAs, repeatedString };
36+
export { countAs, repeatedString };

src/hackerrank/implementation/sockMerchant.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import { logger as console } from '../../logger';
66

7-
export function sockMerchant(n: number, ar: number[]): number {
7+
function sockMerchant(n: number, ar: number[]): number {
88
let result = 0;
99

1010
type Matches = Record<string, number>;
@@ -27,3 +27,4 @@ export function sockMerchant(n: number, ar: number[]): number {
2727
}
2828

2929
export default { sockMerchant };
30+
export { sockMerchant };

src/hackerrank/interview_preparation_kit/arrays/2d_array.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* @link Problem definition [[docs/hackerrank/interview_preparation_kit/arrays/2d_array.md]]
33
*/
44

5-
export function gethourGlass(
5+
function gethourGlass(
66
arr: number[][],
77
positionX: number,
88
positionY: number
@@ -22,7 +22,7 @@ export function gethourGlass(
2222
return result;
2323
}
2424

25-
export function hourglassSum(arr: number[][]): number | null {
25+
function hourglassSum(arr: number[][]): number | null {
2626
let matrixSize = 0;
2727

2828
if (arr?.[0]) {
@@ -65,3 +65,4 @@ export function hourglassSum(arr: number[][]): number | null {
6565
}
6666

6767
export default { hourglassSum };
68+
export { hourglassSum };

src/hackerrank/interview_preparation_kit/arrays/cruch_bruteforce.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import { logger as console } from '../../../logger';
77

8-
export function arrayManipulation(n: number, queries: number[][]): number {
8+
function arrayManipulation(n: number, queries: number[][]): number {
99
const LENGTH = n + 1;
1010
const SURROGATE_VALUE = 0;
1111
const result: number[] = Array<number>(LENGTH).fill(SURROGATE_VALUE);
@@ -29,3 +29,4 @@ export function arrayManipulation(n: number, queries: number[][]): number {
2929
}
3030

3131
export default { arrayManipulation };
32+
export { arrayManipulation };

src/hackerrank/interview_preparation_kit/arrays/cruch_optimized.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* @link Problem definition [[docs/hackerrank/interview_preparation_kit/arrays/crush.md]]
33
*/
44

5-
export function arrayManipulation(n: number, queries: number[][]): number {
5+
function arrayManipulation(n: number, queries: number[][]): number {
66
// why adding 2?
77
// first slot to adjust 1-based index and
88
// last slot for storing accumSum result
@@ -29,3 +29,4 @@ export function arrayManipulation(n: number, queries: number[][]): number {
2929
}
3030

3131
export default { arrayManipulation };
32+
export { arrayManipulation };

src/hackerrank/interview_preparation_kit/arrays/cruch_testcases_test.json

Lines changed: 10 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -3,70 +3,30 @@
33
"title": "Sample Test Case 0",
44
"n": 5,
55
"queries": [
6-
[
7-
1,
8-
2,
9-
100
10-
],
11-
[
12-
2,
13-
5,
14-
100
15-
],
16-
[
17-
3,
18-
4,
19-
100
20-
]
6+
[1, 2, 100],
7+
[2, 5, 100],
8+
[3, 4, 100]
219
],
2210
"expected": 200
2311
},
2412
{
2513
"title": "Sample Test Case 1",
2614
"n": 10,
2715
"queries": [
28-
[
29-
1,
30-
5,
31-
3
32-
],
33-
[
34-
4,
35-
8,
36-
7
37-
],
38-
[
39-
6,
40-
9,
41-
1
42-
]
16+
[1, 5, 3],
17+
[4, 8, 7],
18+
[6, 9, 1]
4319
],
4420
"expected": 10
4521
},
4622
{
4723
"title": "Sample Test Case 3",
4824
"n": 10,
4925
"queries": [
50-
[
51-
2,
52-
6,
53-
8
54-
],
55-
[
56-
3,
57-
5,
58-
7
59-
],
60-
[
61-
1,
62-
8,
63-
1
64-
],
65-
[
66-
5,
67-
9,
68-
15
69-
]
26+
[2, 6, 8],
27+
[3, 5, 7],
28+
[1, 8, 1],
29+
[5, 9, 15]
7030
],
7131
"expected": 31
7232
}

0 commit comments

Comments
 (0)