Tidy up structure of briefcase
I had a spare fifteen minutes and decided that I should tidy up my monorepo. The work of tidying up is not finished; this is a small step in the right direction. TL;DR - Created a tools directory - Created a scratch directory (see README.md for more information) - Added README.md to third_party - Renamed delete_dotfile_symlinks -> symlinkManager - Packaged symlinkManager as an executable symlink-mgr using buildGo
This commit is contained in:
		
							parent
							
								
									5ec5a6da8c
								
							
						
					
					
						commit
						fabf1c9334
					
				
					 89 changed files with 53 additions and 41 deletions
				
			
		|  | @ -1,57 +0,0 @@ | |||
| import unittest | ||||
| from math import floor | ||||
| 
 | ||||
| ################################################################################ | ||||
| # Solution | ||||
| ################################################################################ | ||||
| 
 | ||||
| # change_possibilities :: Int -> [Int] -> Int | ||||
| def change_possibilities(n, xs): | ||||
|     combinations = [0] * (n + 1) | ||||
|     combinations[0] = 1 | ||||
| 
 | ||||
|     for x in xs: | ||||
|         for i in range(len(combinations)): | ||||
|             if i >= x: | ||||
|                 combinations[i] += combinations[i - x] | ||||
| 
 | ||||
|     return combinations[n] | ||||
| 
 | ||||
| 
 | ||||
| ################################################################################ | ||||
| # Tests | ||||
| ################################################################################ | ||||
| class Test(unittest.TestCase): | ||||
| 
 | ||||
|     def test_sample_input(self): | ||||
|         actual = change_possibilities(4, (1, 2, 3)) | ||||
|         expected = 4 | ||||
|         self.assertEqual(actual, expected) | ||||
| 
 | ||||
|     def test_one_way_to_make_zero_cents(self): | ||||
|         actual = change_possibilities(0, (1, 2)) | ||||
|         expected = 1 | ||||
|         self.assertEqual(actual, expected) | ||||
| 
 | ||||
|     def test_no_ways_if_no_coins(self): | ||||
|         actual = change_possibilities(1, ()) | ||||
|         expected = 0 | ||||
|         self.assertEqual(actual, expected) | ||||
| 
 | ||||
|     def test_big_coin_value(self): | ||||
|         actual = change_possibilities(5, (25, 50)) | ||||
|         expected = 0 | ||||
|         self.assertEqual(actual, expected) | ||||
| 
 | ||||
|     def test_big_target_amount(self): | ||||
|         actual = change_possibilities(50, (5, 10)) | ||||
|         expected = 6 | ||||
|         self.assertEqual(actual, expected) | ||||
| 
 | ||||
|     def test_change_for_one_dollar(self): | ||||
|         actual = change_possibilities(100, (1, 5, 10, 25, 50)) | ||||
|         expected = 292 | ||||
|         self.assertEqual(actual, expected) | ||||
| 
 | ||||
| 
 | ||||
| unittest.main(verbosity=2) | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue