Good afternoon! Here's our prompt for today.
We are given two strings order
and str
, with the string order
already sorted in a custom order. Permute the characters of str
such that they match the custom order in which order
is sorted. More specifically, if a character x
occurs before a character y
in order
, then x
should occur before y
in the permuted string.

For example, consider the following strings as input:
1String order = "fed";
2String str = "adef";
The output for the given string will be "feda".
"d", "e", "f" in str
are arranged according to the order
string, which makes the order of "d", "e", "f" as "f", "e", "d". Since "a" does not appear in the defined order, it should appear at the end of the string.
Constraints
- 1 <=
order.length
<= 26 - 1 <=
s.length
<= 200 order
ands
consist of lowercase English letters.- All the characters of
order
are unique.
Try to solve this here or in Interactive Mode.
How do I practice this challenge?
xxxxxxxxxx
​
import static org.junit.Assert.*;
import java.util.Map;
import java.util.HashMap;
​
import org.junit.*;
import org.junit.runner.*;
import org.junit.runner.notification.*;
​
public class MainTest {
​
public String custom_sort_string(String order, String s) {
//fill in the solution
return;
}
​
​
// tests
​
public void testBaseCase() {
assertEquals("custom_sort_string('fed', 'adef')", "feda", this.custom_sort_string("fed","adef"));
}
​
public void test2() {
assertEquals("custom_sort_string('cba', 'abcd')", "cbad", this.custom_sort_string("cba", "abcd"));
}
​
Here's how we would solve this problem...
How do I use this guide?
Access all course materials today
The rest of this tutorial's contents are only available for premium members. Please explore your options at the link below.