Your browser (Unknown 0) is no longer supported. Some parts of the website may not work correctly. Please update your browser.

AVAILABLE EXERCISES:

Exercise 9

Bitwise operations (bit-ops)

Exercise 8

Frontend

Exercise 7

Data Structures

Exercise 6

SQL

Exercise 5

Coding skills

Exercise 4

Algorithmic skills

Exercise 3

2017 Contest

Exercise 2

2016 Contest

Exercise 1

2015 Contest

From drawers containing both clean and dirty socks, choose socks to launder in order to obtain the maximum number of clean pairs of socks.

Spoken language:

Bob is about to go on a trip. But first he needs to take care of his supply of socks. Each sock has its own color. Bob wants to take as many pairs of clean socks as possible (both socks in the pair should be of the same color).

Socks are divided into two drawers: clean and dirty socks. Bob has time for only one laundry and his washing machine can clean at most K socks. He wants to pick socks for laundering in such a way that after washing he will have a maximal number of clean, same-colored pairs of socks. It is possible that some socks cannot be paired with any other sock, because Bob may have lost some socks over the years.

Bob has exactly N clean and M dirty socks, which are described in arrays C and D, respectively. The colors of the socks are represented as integers (equal numbers representing identical colors).

For example, given four clean socks and five dirty socks:

If Bob's washing machine can clean at most K = 2 socks, then he can take a maximum of three pairs of clean socks. He can wash one red sock and one green sock, numbered 1 and 2 respectively. Then he will have two pairs of red socks and one pair of green socks.

Write a function:

int solution(int K, int C[], int N, int D[], int M);

that, given an integer K (the number of socks that the washing machine can clean), two arrays C and D (containing the color representations of N clean and M dirty socks respectively), returns the maximum number of pairs of socks that Bob can take on the trip.

For example, given K = 2, C = [1, 2, 1, 1] and D = [1, 4, 3, 2, 4], the function should return 3, as explained above.

Assume that:

- K is an integer within the range [0..50];
- each element of arrays C and D is an integer within the range [1..50];
- C and D are not empty and each of them contains at most 50 elements.

In your solution, focus on ** correctness**. The performance of your solution will not be the focus of the assessment.

Copyright 2009–2021 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.

Bob is about to go on a trip. But first he needs to take care of his supply of socks. Each sock has its own color. Bob wants to take as many pairs of clean socks as possible (both socks in the pair should be of the same color).

Socks are divided into two drawers: clean and dirty socks. Bob has time for only one laundry and his washing machine can clean at most K socks. He wants to pick socks for laundering in such a way that after washing he will have a maximal number of clean, same-colored pairs of socks. It is possible that some socks cannot be paired with any other sock, because Bob may have lost some socks over the years.

Bob has exactly N clean and M dirty socks, which are described in arrays C and D, respectively. The colors of the socks are represented as integers (equal numbers representing identical colors).

For example, given four clean socks and five dirty socks:

If Bob's washing machine can clean at most K = 2 socks, then he can take a maximum of three pairs of clean socks. He can wash one red sock and one green sock, numbered 1 and 2 respectively. Then he will have two pairs of red socks and one pair of green socks.

Write a function:

int solution(int K, vector<int> &C, vector<int> &D);

that, given an integer K (the number of socks that the washing machine can clean), two arrays C and D (containing the color representations of N clean and M dirty socks respectively), returns the maximum number of pairs of socks that Bob can take on the trip.

For example, given K = 2, C = [1, 2, 1, 1] and D = [1, 4, 3, 2, 4], the function should return 3, as explained above.

Assume that:

- K is an integer within the range [0..50];
- each element of arrays C and D is an integer within the range [1..50];
- C and D are not empty and each of them contains at most 50 elements.

In your solution, focus on ** correctness**. The performance of your solution will not be the focus of the assessment.

Copyright 2009–2021 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.

Bob is about to go on a trip. But first he needs to take care of his supply of socks. Each sock has its own color. Bob wants to take as many pairs of clean socks as possible (both socks in the pair should be of the same color).

Socks are divided into two drawers: clean and dirty socks. Bob has time for only one laundry and his washing machine can clean at most K socks. He wants to pick socks for laundering in such a way that after washing he will have a maximal number of clean, same-colored pairs of socks. It is possible that some socks cannot be paired with any other sock, because Bob may have lost some socks over the years.

Bob has exactly N clean and M dirty socks, which are described in arrays C and D, respectively. The colors of the socks are represented as integers (equal numbers representing identical colors).

For example, given four clean socks and five dirty socks:

If Bob's washing machine can clean at most K = 2 socks, then he can take a maximum of three pairs of clean socks. He can wash one red sock and one green sock, numbered 1 and 2 respectively. Then he will have two pairs of red socks and one pair of green socks.

Write a function:

class Solution { public int solution(int K, int[] C, int[] D); }

that, given an integer K (the number of socks that the washing machine can clean), two arrays C and D (containing the color representations of N clean and M dirty socks respectively), returns the maximum number of pairs of socks that Bob can take on the trip.

For example, given K = 2, C = [1, 2, 1, 1] and D = [1, 4, 3, 2, 4], the function should return 3, as explained above.

Assume that:

- K is an integer within the range [0..50];
- each element of arrays C and D is an integer within the range [1..50];
- C and D are not empty and each of them contains at most 50 elements.

In your solution, focus on ** correctness**. The performance of your solution will not be the focus of the assessment.

Copyright 2009–2021 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.

For example, given four clean socks and five dirty socks:

Write a function:

func Solution(K int, C []int, D []int) int

Assume that:

- K is an integer within the range [0..50];
- each element of arrays C and D is an integer within the range [1..50];
- C and D are not empty and each of them contains at most 50 elements.

** correctness**. The performance of your solution will not be the focus of the assessment.

For example, given four clean socks and five dirty socks:

Write a function:

class Solution { public int solution(int K, int[] C, int[] D); }

Assume that:

- K is an integer within the range [0..50];
- each element of arrays C and D is an integer within the range [1..50];
- C and D are not empty and each of them contains at most 50 elements.

** correctness**. The performance of your solution will not be the focus of the assessment.

For example, given four clean socks and five dirty socks:

Write a function:

class Solution { public int solution(int K, int[] C, int[] D); }

Assume that:

- K is an integer within the range [0..50];
- each element of arrays C and D is an integer within the range [1..50];
- C and D are not empty and each of them contains at most 50 elements.

** correctness**. The performance of your solution will not be the focus of the assessment.

For example, given four clean socks and five dirty socks:

Write a function:

function solution(K, C, D);

Assume that:

- K is an integer within the range [0..50];
- each element of arrays C and D is an integer within the range [1..50];
- C and D are not empty and each of them contains at most 50 elements.

** correctness**. The performance of your solution will not be the focus of the assessment.

For example, given four clean socks and five dirty socks:

Write a function:

fun solution(K: Int, C: IntArray, D: IntArray): Int

Assume that:

- K is an integer within the range [0..50];
- each element of arrays C and D is an integer within the range [1..50];
- C and D are not empty and each of them contains at most 50 elements.

** correctness**. The performance of your solution will not be the focus of the assessment.

For example, given four clean socks and five dirty socks:

Write a function:

function solution(K, C, D)

Assume that:

- K is an integer within the range [0..50];
- each element of arrays C and D is an integer within the range [1..50];
- C and D are not empty and each of them contains at most 50 elements.

** correctness**. The performance of your solution will not be the focus of the assessment.

For example, given four clean socks and five dirty socks:

Write a function:

int solution(int K, NSMutableArray *C, NSMutableArray *D);

Assume that:

- K is an integer within the range [0..50];
- each element of arrays C and D is an integer within the range [1..50];
- C and D are not empty and each of them contains at most 50 elements.

** correctness**. The performance of your solution will not be the focus of the assessment.

For example, given four clean socks and five dirty socks:

Write a function:

function solution(K: longint; C: array of longint; N: longint; D: array of longint; M: longint): longint;

Assume that:

- K is an integer within the range [0..50];
- each element of arrays C and D is an integer within the range [1..50];
- C and D are not empty and each of them contains at most 50 elements.

** correctness**. The performance of your solution will not be the focus of the assessment.

For example, given four clean socks and five dirty socks:

Write a function:

function solution($K, $C, $D);

Assume that:

- K is an integer within the range [0..50];
- each element of arrays C and D is an integer within the range [1..50];
- C and D are not empty and each of them contains at most 50 elements.

** correctness**. The performance of your solution will not be the focus of the assessment.

For example, given four clean socks and five dirty socks:

Write a function:

sub solution { my ($K, $C, $D)=@_; my @C=@$C; my @D=@$D; ... }

Assume that:

- K is an integer within the range [0..50];
- each element of arrays C and D is an integer within the range [1..50];
- C and D are not empty and each of them contains at most 50 elements.

** correctness**. The performance of your solution will not be the focus of the assessment.

For example, given four clean socks and five dirty socks:

Write a function:

def solution(K, C, D)

Assume that:

- K is an integer within the range [0..50];
- each element of arrays C and D is an integer within the range [1..50];
- C and D are not empty and each of them contains at most 50 elements.

** correctness**. The performance of your solution will not be the focus of the assessment.

For example, given four clean socks and five dirty socks:

Write a function:

def solution(k, c, d)

Assume that:

- K is an integer within the range [0..50];
- each element of arrays C and D is an integer within the range [1..50];
- C and D are not empty and each of them contains at most 50 elements.

** correctness**. The performance of your solution will not be the focus of the assessment.

For example, given four clean socks and five dirty socks:

Write a function:

object Solution { def solution(k: Int, c: Array[Int], d: Array[Int]): Int }

Assume that:

- K is an integer within the range [0..50];
- each element of arrays C and D is an integer within the range [1..50];
- C and D are not empty and each of them contains at most 50 elements.

** correctness**. The performance of your solution will not be the focus of the assessment.

For example, given four clean socks and five dirty socks:

Write a function:

public func solution(_ K : Int, _ C : inout [Int], _ D : inout [Int]) -> Int

Assume that:

- K is an integer within the range [0..50];
- each element of arrays C and D is an integer within the range [1..50];
- C and D are not empty and each of them contains at most 50 elements.

** correctness**. The performance of your solution will not be the focus of the assessment.

For example, given four clean socks and five dirty socks:

Write a function:

Private Function solution(K As Integer, C As Integer(), D As Integer()) As Integer

Assume that:

- K is an integer within the range [0..50];
- each element of arrays C and D is an integer within the range [1..50];
- C and D are not empty and each of them contains at most 50 elements.

** correctness**. The performance of your solution will not be the focus of the assessment.