Skip to content

Commit 3afb067

Browse files
author
Gonzalo Diaz
committed
[Hacker Rank] Interview Preparation Kit: Arrays: Minimum Swaps 2. Solved ✅. Adjusted the interface to match what hackerrank expects.
1 parent 36b7b5f commit 3afb067

File tree

3 files changed

+9
-8
lines changed

3 files changed

+9
-8
lines changed

src/hackerrank/interview_preparation_kit/arrays/minimum_swaps_2.js

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

5-
export function minimumSwaps(arr) {
5+
function minimumSwaps(arr) {
66
const indexedGroup = arr.map((x) => x - 1);
77
let swaps = 0;
88
let index = 0;

src/hackerrank/interview_preparation_kit/arrays/minimum_swaps_2.test.js

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,16 @@
11
import { describe, expect, it } from '@jest/globals';
22
import { logger as console } from '../../../logger.js';
33

4-
import { minimumSwaps } from './minimum_swaps_2.js';
4+
import ms2 from './minimum_swaps_2.js';
55

6-
const TEST_CASES = [
7-
{ title: 'Sample input 0', input: [4, 3, 1, 2], expected: 3 },
8-
{ title: 'Sample input 1', input: [2, 3, 4, 1, 5], expected: 3 },
9-
{ title: 'Sample input 2', input: [1, 3, 5, 2, 4, 6, 7], expected: 3 }
10-
];
6+
import TEST_CASES from './minimum_swaps_2.testcases.json';
117

128
describe('minimum swaps 2', () => {
139
it('minimumSwaps', () => {
1410
expect.assertions(3);
1511

1612
TEST_CASES.forEach((test) => {
17-
const answer = minimumSwaps(test.input);
13+
const answer = ms2.minimumSwaps(test.input);
1814

1915
console.debug(`minimumSwaps(${test.input}) solution found: ${answer}`);
2016

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[
2+
{"title": "Sample input 0", "input": [4, 3, 1, 2], "expected": 3},
3+
{"title": "Sample input 1", "input": [2, 3, 4, 1, 5], "expected": 3},
4+
{"title": "Sample input 2", "input": [1, 3, 5, 2, 4, 6, 7], "expected": 3}
5+
]

0 commit comments

Comments
 (0)