Sorting an assortment of strings and integers together, while keeping them separate
$begingroup$
I put a solution to this coding problem together. The problem is this:
Create a function that takes an array, finds the most often repeated element(s) within it and returns it/them in an array. The function should work for both integers and strings mixed together within the input list (e.g.
[1, 1, "a"]
).
If there is a tie for highest occurrence, return both.
Separate integers and strings in the result.
If returning multiple elements, sort result alphabetically with numbers coming before strings.
This is the solution I came up with:
def highest_occurrence(arr)
# Separate the unique values into individual sub-arrays
x = rand(2**32).to_s(16)
result = arr.sort do |a, b|
a = a.to_s + x if a.is_a?(Numeric)
b = b.to_s + x if b.is_a?(Numeric)
a <=> b
end.chunk_while {|a, b| a == b }.to_a
# Get an array of all of the individual values with the max size,
# Sort them by integers first, strings second
result = result.select do |a2|
a2.size == result.max_by(&:size).size
end.map(&:uniq).flatten.sort_by { |v| v.class.to_s }
end
It passes these tests:
p highest_occurrence(["a","a","b","b"]) == ["a","b"]
p highest_occurrence([1,"a","b","b"]) == ["b"]
p highest_occurrence([1,2,2,3,3,3,4,4,4,4]) == [4]
p highest_occurrence(["ab","ab","b"]) == ["ab"]
p highest_occurrence(["ab","ab","b","bb","b"]) == ["ab","b"]
p highest_occurrence([3,3,3,4,4,4,4,2,3,6,7,6,7,6,7,6,"a","a","a","a"]) == [3,4,6,"a"]
p highest_occurrence([2,2,"2","2",4,4]) == [2,4,"2"]
I'd like to know whether there are better ways to solve some of the specific problems in this exercise. In particular, the requirement to sort strings and integers together without being able to convert the integers to strings in the sort block was an interesting one. I managed this by appending a random hex value (the same value) to each integer during the sort process. This seems a bit hackish, and I have the feeling it could be improved upon.
I would also appreciate any other suggestions for how to do a cleaner job.
ruby sorting
$endgroup$
add a comment |
$begingroup$
I put a solution to this coding problem together. The problem is this:
Create a function that takes an array, finds the most often repeated element(s) within it and returns it/them in an array. The function should work for both integers and strings mixed together within the input list (e.g.
[1, 1, "a"]
).
If there is a tie for highest occurrence, return both.
Separate integers and strings in the result.
If returning multiple elements, sort result alphabetically with numbers coming before strings.
This is the solution I came up with:
def highest_occurrence(arr)
# Separate the unique values into individual sub-arrays
x = rand(2**32).to_s(16)
result = arr.sort do |a, b|
a = a.to_s + x if a.is_a?(Numeric)
b = b.to_s + x if b.is_a?(Numeric)
a <=> b
end.chunk_while {|a, b| a == b }.to_a
# Get an array of all of the individual values with the max size,
# Sort them by integers first, strings second
result = result.select do |a2|
a2.size == result.max_by(&:size).size
end.map(&:uniq).flatten.sort_by { |v| v.class.to_s }
end
It passes these tests:
p highest_occurrence(["a","a","b","b"]) == ["a","b"]
p highest_occurrence([1,"a","b","b"]) == ["b"]
p highest_occurrence([1,2,2,3,3,3,4,4,4,4]) == [4]
p highest_occurrence(["ab","ab","b"]) == ["ab"]
p highest_occurrence(["ab","ab","b","bb","b"]) == ["ab","b"]
p highest_occurrence([3,3,3,4,4,4,4,2,3,6,7,6,7,6,7,6,"a","a","a","a"]) == [3,4,6,"a"]
p highest_occurrence([2,2,"2","2",4,4]) == [2,4,"2"]
I'd like to know whether there are better ways to solve some of the specific problems in this exercise. In particular, the requirement to sort strings and integers together without being able to convert the integers to strings in the sort block was an interesting one. I managed this by appending a random hex value (the same value) to each integer during the sort process. This seems a bit hackish, and I have the feeling it could be improved upon.
I would also appreciate any other suggestions for how to do a cleaner job.
ruby sorting
$endgroup$
add a comment |
$begingroup$
I put a solution to this coding problem together. The problem is this:
Create a function that takes an array, finds the most often repeated element(s) within it and returns it/them in an array. The function should work for both integers and strings mixed together within the input list (e.g.
[1, 1, "a"]
).
If there is a tie for highest occurrence, return both.
Separate integers and strings in the result.
If returning multiple elements, sort result alphabetically with numbers coming before strings.
This is the solution I came up with:
def highest_occurrence(arr)
# Separate the unique values into individual sub-arrays
x = rand(2**32).to_s(16)
result = arr.sort do |a, b|
a = a.to_s + x if a.is_a?(Numeric)
b = b.to_s + x if b.is_a?(Numeric)
a <=> b
end.chunk_while {|a, b| a == b }.to_a
# Get an array of all of the individual values with the max size,
# Sort them by integers first, strings second
result = result.select do |a2|
a2.size == result.max_by(&:size).size
end.map(&:uniq).flatten.sort_by { |v| v.class.to_s }
end
It passes these tests:
p highest_occurrence(["a","a","b","b"]) == ["a","b"]
p highest_occurrence([1,"a","b","b"]) == ["b"]
p highest_occurrence([1,2,2,3,3,3,4,4,4,4]) == [4]
p highest_occurrence(["ab","ab","b"]) == ["ab"]
p highest_occurrence(["ab","ab","b","bb","b"]) == ["ab","b"]
p highest_occurrence([3,3,3,4,4,4,4,2,3,6,7,6,7,6,7,6,"a","a","a","a"]) == [3,4,6,"a"]
p highest_occurrence([2,2,"2","2",4,4]) == [2,4,"2"]
I'd like to know whether there are better ways to solve some of the specific problems in this exercise. In particular, the requirement to sort strings and integers together without being able to convert the integers to strings in the sort block was an interesting one. I managed this by appending a random hex value (the same value) to each integer during the sort process. This seems a bit hackish, and I have the feeling it could be improved upon.
I would also appreciate any other suggestions for how to do a cleaner job.
ruby sorting
$endgroup$
I put a solution to this coding problem together. The problem is this:
Create a function that takes an array, finds the most often repeated element(s) within it and returns it/them in an array. The function should work for both integers and strings mixed together within the input list (e.g.
[1, 1, "a"]
).
If there is a tie for highest occurrence, return both.
Separate integers and strings in the result.
If returning multiple elements, sort result alphabetically with numbers coming before strings.
This is the solution I came up with:
def highest_occurrence(arr)
# Separate the unique values into individual sub-arrays
x = rand(2**32).to_s(16)
result = arr.sort do |a, b|
a = a.to_s + x if a.is_a?(Numeric)
b = b.to_s + x if b.is_a?(Numeric)
a <=> b
end.chunk_while {|a, b| a == b }.to_a
# Get an array of all of the individual values with the max size,
# Sort them by integers first, strings second
result = result.select do |a2|
a2.size == result.max_by(&:size).size
end.map(&:uniq).flatten.sort_by { |v| v.class.to_s }
end
It passes these tests:
p highest_occurrence(["a","a","b","b"]) == ["a","b"]
p highest_occurrence([1,"a","b","b"]) == ["b"]
p highest_occurrence([1,2,2,3,3,3,4,4,4,4]) == [4]
p highest_occurrence(["ab","ab","b"]) == ["ab"]
p highest_occurrence(["ab","ab","b","bb","b"]) == ["ab","b"]
p highest_occurrence([3,3,3,4,4,4,4,2,3,6,7,6,7,6,7,6,"a","a","a","a"]) == [3,4,6,"a"]
p highest_occurrence([2,2,"2","2",4,4]) == [2,4,"2"]
I'd like to know whether there are better ways to solve some of the specific problems in this exercise. In particular, the requirement to sort strings and integers together without being able to convert the integers to strings in the sort block was an interesting one. I managed this by appending a random hex value (the same value) to each integer during the sort process. This seems a bit hackish, and I have the feeling it could be improved upon.
I would also appreciate any other suggestions for how to do a cleaner job.
ruby sorting
ruby sorting
edited 15 mins ago
Jamal♦
30.4k11121227
30.4k11121227
asked 6 hours ago
BobRodesBobRodes
1234
1234
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
Your test cases should include lexical sort of integers; that is, [9,11]
must return [11,9]
. (Your implementation does pass this test since you're converting everything to a string).
As you suspected, mangling the input is hacky. This is better accomplished with a multi-criteria sort. This technique maps each individual value to an array of sort criteria. Ruby will compare the arrays only until it finds unequal elements; this means you can mix integers and strings in the second field, so long as the first field distinguishes them.
For our problem, the first field will be 0 for integers else 1. The second field is the value itself.
Although this approach will never compare integers to strings—if the first criteria distinguishes the two elements, the comparison is done—the second criteria must be a string anyway, to satisfy the "sort alphabetically" requirement.
It's not necessary to sort the entire array or store a full copy of it. Instead, count duplicates in a hash table. Traverse the values of the hash to find a maximum. Traverse again to extract the corresponding keys.
def highest_occurrence(arr)
return unless arr.length
count = Hash.new(0)
arr.each { |k| count[k] += 1 }
max = count.max_by{|k,n| n}[1]
return count.select { |k,n| n==max }.keys.sort_by { |k| [ k.is_a?(Integer)?0:1, k.to_s ] }
end
$endgroup$
$begingroup$
Thanks for your answer and your very helpful example. I've stepped through it, and it's entirely clear. Very nice upgrade to mine! Two things I don't quite understand: the spec says to return integers sorted in ascending order, followed by strings sorted in ascending order. Why, then, should[9,11]
return11,9]
? Also, why can't you just do.sort_by { |k| k.is_a?(Integer)?0:1 }
? What test cases would fail to that? None of miine do.
$endgroup$
– BobRodes
1 hour ago
$begingroup$
I answered my second question, once I went to the trouble of reading the link that you posted and doing a few other test cases. All my test cases happen to have the max values in the proper sorted order already! I switched them around and they failed. So, that's how you do a nested sort: put the criteria in an array. I'll put that in the file. Also, now that I look at it, I think that's what you were trying to tell me up front. Is it possible that you intended to say that[11, 9]
should return '[9,11]`?
$endgroup$
– BobRodes
52 mins ago
$begingroup$
One more thing. I don't think thatreturn unless arr.length
will ever return a, since
0
evaluates totrue
in Ruby. Is this a carry-over pattern from some other language such as JS? I would putreturn if arr.size.zero?
myself.
$endgroup$
– BobRodes
45 mins ago
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
});
});
}, "mathjax-editing");
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "196"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f215294%2fsorting-an-assortment-of-strings-and-integers-together-while-keeping-them-separ%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
Your test cases should include lexical sort of integers; that is, [9,11]
must return [11,9]
. (Your implementation does pass this test since you're converting everything to a string).
As you suspected, mangling the input is hacky. This is better accomplished with a multi-criteria sort. This technique maps each individual value to an array of sort criteria. Ruby will compare the arrays only until it finds unequal elements; this means you can mix integers and strings in the second field, so long as the first field distinguishes them.
For our problem, the first field will be 0 for integers else 1. The second field is the value itself.
Although this approach will never compare integers to strings—if the first criteria distinguishes the two elements, the comparison is done—the second criteria must be a string anyway, to satisfy the "sort alphabetically" requirement.
It's not necessary to sort the entire array or store a full copy of it. Instead, count duplicates in a hash table. Traverse the values of the hash to find a maximum. Traverse again to extract the corresponding keys.
def highest_occurrence(arr)
return unless arr.length
count = Hash.new(0)
arr.each { |k| count[k] += 1 }
max = count.max_by{|k,n| n}[1]
return count.select { |k,n| n==max }.keys.sort_by { |k| [ k.is_a?(Integer)?0:1, k.to_s ] }
end
$endgroup$
$begingroup$
Thanks for your answer and your very helpful example. I've stepped through it, and it's entirely clear. Very nice upgrade to mine! Two things I don't quite understand: the spec says to return integers sorted in ascending order, followed by strings sorted in ascending order. Why, then, should[9,11]
return11,9]
? Also, why can't you just do.sort_by { |k| k.is_a?(Integer)?0:1 }
? What test cases would fail to that? None of miine do.
$endgroup$
– BobRodes
1 hour ago
$begingroup$
I answered my second question, once I went to the trouble of reading the link that you posted and doing a few other test cases. All my test cases happen to have the max values in the proper sorted order already! I switched them around and they failed. So, that's how you do a nested sort: put the criteria in an array. I'll put that in the file. Also, now that I look at it, I think that's what you were trying to tell me up front. Is it possible that you intended to say that[11, 9]
should return '[9,11]`?
$endgroup$
– BobRodes
52 mins ago
$begingroup$
One more thing. I don't think thatreturn unless arr.length
will ever return a, since
0
evaluates totrue
in Ruby. Is this a carry-over pattern from some other language such as JS? I would putreturn if arr.size.zero?
myself.
$endgroup$
– BobRodes
45 mins ago
add a comment |
$begingroup$
Your test cases should include lexical sort of integers; that is, [9,11]
must return [11,9]
. (Your implementation does pass this test since you're converting everything to a string).
As you suspected, mangling the input is hacky. This is better accomplished with a multi-criteria sort. This technique maps each individual value to an array of sort criteria. Ruby will compare the arrays only until it finds unequal elements; this means you can mix integers and strings in the second field, so long as the first field distinguishes them.
For our problem, the first field will be 0 for integers else 1. The second field is the value itself.
Although this approach will never compare integers to strings—if the first criteria distinguishes the two elements, the comparison is done—the second criteria must be a string anyway, to satisfy the "sort alphabetically" requirement.
It's not necessary to sort the entire array or store a full copy of it. Instead, count duplicates in a hash table. Traverse the values of the hash to find a maximum. Traverse again to extract the corresponding keys.
def highest_occurrence(arr)
return unless arr.length
count = Hash.new(0)
arr.each { |k| count[k] += 1 }
max = count.max_by{|k,n| n}[1]
return count.select { |k,n| n==max }.keys.sort_by { |k| [ k.is_a?(Integer)?0:1, k.to_s ] }
end
$endgroup$
$begingroup$
Thanks for your answer and your very helpful example. I've stepped through it, and it's entirely clear. Very nice upgrade to mine! Two things I don't quite understand: the spec says to return integers sorted in ascending order, followed by strings sorted in ascending order. Why, then, should[9,11]
return11,9]
? Also, why can't you just do.sort_by { |k| k.is_a?(Integer)?0:1 }
? What test cases would fail to that? None of miine do.
$endgroup$
– BobRodes
1 hour ago
$begingroup$
I answered my second question, once I went to the trouble of reading the link that you posted and doing a few other test cases. All my test cases happen to have the max values in the proper sorted order already! I switched them around and they failed. So, that's how you do a nested sort: put the criteria in an array. I'll put that in the file. Also, now that I look at it, I think that's what you were trying to tell me up front. Is it possible that you intended to say that[11, 9]
should return '[9,11]`?
$endgroup$
– BobRodes
52 mins ago
$begingroup$
One more thing. I don't think thatreturn unless arr.length
will ever return a, since
0
evaluates totrue
in Ruby. Is this a carry-over pattern from some other language such as JS? I would putreturn if arr.size.zero?
myself.
$endgroup$
– BobRodes
45 mins ago
add a comment |
$begingroup$
Your test cases should include lexical sort of integers; that is, [9,11]
must return [11,9]
. (Your implementation does pass this test since you're converting everything to a string).
As you suspected, mangling the input is hacky. This is better accomplished with a multi-criteria sort. This technique maps each individual value to an array of sort criteria. Ruby will compare the arrays only until it finds unequal elements; this means you can mix integers and strings in the second field, so long as the first field distinguishes them.
For our problem, the first field will be 0 for integers else 1. The second field is the value itself.
Although this approach will never compare integers to strings—if the first criteria distinguishes the two elements, the comparison is done—the second criteria must be a string anyway, to satisfy the "sort alphabetically" requirement.
It's not necessary to sort the entire array or store a full copy of it. Instead, count duplicates in a hash table. Traverse the values of the hash to find a maximum. Traverse again to extract the corresponding keys.
def highest_occurrence(arr)
return unless arr.length
count = Hash.new(0)
arr.each { |k| count[k] += 1 }
max = count.max_by{|k,n| n}[1]
return count.select { |k,n| n==max }.keys.sort_by { |k| [ k.is_a?(Integer)?0:1, k.to_s ] }
end
$endgroup$
Your test cases should include lexical sort of integers; that is, [9,11]
must return [11,9]
. (Your implementation does pass this test since you're converting everything to a string).
As you suspected, mangling the input is hacky. This is better accomplished with a multi-criteria sort. This technique maps each individual value to an array of sort criteria. Ruby will compare the arrays only until it finds unequal elements; this means you can mix integers and strings in the second field, so long as the first field distinguishes them.
For our problem, the first field will be 0 for integers else 1. The second field is the value itself.
Although this approach will never compare integers to strings—if the first criteria distinguishes the two elements, the comparison is done—the second criteria must be a string anyway, to satisfy the "sort alphabetically" requirement.
It's not necessary to sort the entire array or store a full copy of it. Instead, count duplicates in a hash table. Traverse the values of the hash to find a maximum. Traverse again to extract the corresponding keys.
def highest_occurrence(arr)
return unless arr.length
count = Hash.new(0)
arr.each { |k| count[k] += 1 }
max = count.max_by{|k,n| n}[1]
return count.select { |k,n| n==max }.keys.sort_by { |k| [ k.is_a?(Integer)?0:1, k.to_s ] }
end
answered 1 hour ago
Oh My GoodnessOh My Goodness
1,289214
1,289214
$begingroup$
Thanks for your answer and your very helpful example. I've stepped through it, and it's entirely clear. Very nice upgrade to mine! Two things I don't quite understand: the spec says to return integers sorted in ascending order, followed by strings sorted in ascending order. Why, then, should[9,11]
return11,9]
? Also, why can't you just do.sort_by { |k| k.is_a?(Integer)?0:1 }
? What test cases would fail to that? None of miine do.
$endgroup$
– BobRodes
1 hour ago
$begingroup$
I answered my second question, once I went to the trouble of reading the link that you posted and doing a few other test cases. All my test cases happen to have the max values in the proper sorted order already! I switched them around and they failed. So, that's how you do a nested sort: put the criteria in an array. I'll put that in the file. Also, now that I look at it, I think that's what you were trying to tell me up front. Is it possible that you intended to say that[11, 9]
should return '[9,11]`?
$endgroup$
– BobRodes
52 mins ago
$begingroup$
One more thing. I don't think thatreturn unless arr.length
will ever return a, since
0
evaluates totrue
in Ruby. Is this a carry-over pattern from some other language such as JS? I would putreturn if arr.size.zero?
myself.
$endgroup$
– BobRodes
45 mins ago
add a comment |
$begingroup$
Thanks for your answer and your very helpful example. I've stepped through it, and it's entirely clear. Very nice upgrade to mine! Two things I don't quite understand: the spec says to return integers sorted in ascending order, followed by strings sorted in ascending order. Why, then, should[9,11]
return11,9]
? Also, why can't you just do.sort_by { |k| k.is_a?(Integer)?0:1 }
? What test cases would fail to that? None of miine do.
$endgroup$
– BobRodes
1 hour ago
$begingroup$
I answered my second question, once I went to the trouble of reading the link that you posted and doing a few other test cases. All my test cases happen to have the max values in the proper sorted order already! I switched them around and they failed. So, that's how you do a nested sort: put the criteria in an array. I'll put that in the file. Also, now that I look at it, I think that's what you were trying to tell me up front. Is it possible that you intended to say that[11, 9]
should return '[9,11]`?
$endgroup$
– BobRodes
52 mins ago
$begingroup$
One more thing. I don't think thatreturn unless arr.length
will ever return a, since
0
evaluates totrue
in Ruby. Is this a carry-over pattern from some other language such as JS? I would putreturn if arr.size.zero?
myself.
$endgroup$
– BobRodes
45 mins ago
$begingroup$
Thanks for your answer and your very helpful example. I've stepped through it, and it's entirely clear. Very nice upgrade to mine! Two things I don't quite understand: the spec says to return integers sorted in ascending order, followed by strings sorted in ascending order. Why, then, should
[9,11]
return 11,9]
? Also, why can't you just do .sort_by { |k| k.is_a?(Integer)?0:1 }
? What test cases would fail to that? None of miine do.$endgroup$
– BobRodes
1 hour ago
$begingroup$
Thanks for your answer and your very helpful example. I've stepped through it, and it's entirely clear. Very nice upgrade to mine! Two things I don't quite understand: the spec says to return integers sorted in ascending order, followed by strings sorted in ascending order. Why, then, should
[9,11]
return 11,9]
? Also, why can't you just do .sort_by { |k| k.is_a?(Integer)?0:1 }
? What test cases would fail to that? None of miine do.$endgroup$
– BobRodes
1 hour ago
$begingroup$
I answered my second question, once I went to the trouble of reading the link that you posted and doing a few other test cases. All my test cases happen to have the max values in the proper sorted order already! I switched them around and they failed. So, that's how you do a nested sort: put the criteria in an array. I'll put that in the file. Also, now that I look at it, I think that's what you were trying to tell me up front. Is it possible that you intended to say that
[11, 9]
should return '[9,11]`?$endgroup$
– BobRodes
52 mins ago
$begingroup$
I answered my second question, once I went to the trouble of reading the link that you posted and doing a few other test cases. All my test cases happen to have the max values in the proper sorted order already! I switched them around and they failed. So, that's how you do a nested sort: put the criteria in an array. I'll put that in the file. Also, now that I look at it, I think that's what you were trying to tell me up front. Is it possible that you intended to say that
[11, 9]
should return '[9,11]`?$endgroup$
– BobRodes
52 mins ago
$begingroup$
One more thing. I don't think that
return unless arr.length
will ever return a
, since 0
evaluates to true
in Ruby. Is this a carry-over pattern from some other language such as JS? I would put return if arr.size.zero?
myself.$endgroup$
– BobRodes
45 mins ago
$begingroup$
One more thing. I don't think that
return unless arr.length
will ever return a
, since 0
evaluates to true
in Ruby. Is this a carry-over pattern from some other language such as JS? I would put return if arr.size.zero?
myself.$endgroup$
– BobRodes
45 mins ago
add a comment |
Thanks for contributing an answer to Code Review Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f215294%2fsorting-an-assortment-of-strings-and-integers-together-while-keeping-them-separ%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown