def test_permute(self): nums1 = [1, 2, 3, 4] answer1 = [ [1, 2, 3, 4], [2, 1, 3, 4], [2, 3, 1, 4], [2, 3, 4, 1], [1, 3, 2, 4], [3, 1, 2, 4], [3, 2, 1, 4], [3, 2, 4, 1], [1, 3, 4, 2], [3, 1, 4, 2], [3, 4, 1, 2], [3, 4, 2, 1], [1, 2, 4, 3], [2, 1, 4, 3], [2, 4, 1, 3], [2, 4, 3, 1], [1, 4, 2, 3], [4, 1, 2, 3], [4, 2, 1, 3], [4, 2, 3, 1], [1, 4, 3, 2], [4, 1, 3, 2], [4, 3, 1, 2], [4, 3, 2, 1], ] self.assertEqual(sorted(permute(nums1)), sorted(answer1)) nums2 = [1, 2, 3] answer2 = [[3, 2, 1], [2, 3, 1], [2, 1, 3], [3, 1, 2], [1, 3, 2], [1, 2, 3]] self.assertEqual(sorted(permute(nums2)), sorted(answer2))
def test_permute(self): nums1 = [1, 2, 3, 4] answer1 = [[1, 2, 3, 4], [2, 1, 3, 4], [2, 3, 1, 4], [2, 3, 4, 1], [1, 3, 2, 4], [3, 1, 2, 4], [3, 2, 1, 4], [3, 2, 4, 1], [1, 3, 4, 2], [3, 1, 4, 2], [3, 4, 1, 2], [3, 4, 2, 1], [1, 2, 4, 3], [2, 1, 4, 3], [2, 4, 1, 3], [2, 4, 3, 1], [1, 4, 2, 3], [4, 1, 2, 3], [4, 2, 1, 3], [4, 2, 3, 1], [1, 4, 3, 2], [4, 1, 3, 2], [4, 3, 1, 2], [4, 3, 2, 1]] self.assertEqual(sorted(permute(nums1)), sorted(answer1)) nums2 = [1, 2, 3] answer2 = [[3, 2, 1], [2, 3, 1], [2, 1, 3], [3, 1, 2], [1, 3, 2], [1, 2, 3]] self.assertEqual(sorted(permute(nums2)), sorted(answer2))
def test_permute(self): perms = ['abc', 'bac', 'bca', 'acb', 'cab', 'cba'] self.assertEqual(perms, permute("abc"))
def test_permute(self): perms = ['abc', 'bac', 'bca', 'acb', 'cab', 'cba'] self.assertEqual(perms, permute("abc"))
def test_permute(self): perms = ["abc", "bac", "bca", "acb", "cab", "cba"] self.assertEqual(perms, permute("abc"))
from algorithms.backtrack import permute, permute_iter, permute_recursive a = [1, 2, 3] b = "123" blist = [] aperm = permute(b) print(aperm) bperm = permute_iter(a) for i in bperm: blist.append(i) print(blist) print(permute_recursive(a)) #박제준 4/27