-
-
Notifications
You must be signed in to change notification settings - Fork 1
Add more practice exercises #23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
6d053b5
added nucleotide-count exercise
YanniPapandreou 8e78ae9
added allergies exercise
YanniPapandreou b042cc4
added leap
YanniPapandreou 3b4e2d3
added raindrops exercise
YanniPapandreou 964a1a9
update difficulty
YanniPapandreou 4c6dcbb
added protein-translation exercise
YanniPapandreou f70707a
added grains exercise
YanniPapandreou dd85df9
implemented gigasecond exercise
YanniPapandreou 0da55c3
implemented meetup exercise
YanniPapandreou 8d8096a
fixed deprecation warnings in nushell version 0.114.1
YanniPapandreou ce0fa23
update nushell release in workflow file
YanniPapandreou 68ccb06
rename run to move to avoid errors with existing run command
YanniPapandreou 0e195ea
Update exercises/practice/gigasecond/tests.nu
YanniPapandreou 41e3719
Update exercises/practice/gigasecond/.meta/tests.toml
YanniPapandreou File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| # Instructions | ||
|
|
||
| Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies. | ||
|
|
||
| An allergy test produces a single numeric score which contains the information about all the allergies the person has (that they were tested for). | ||
|
|
||
| The list of items (and their value) that were tested are: | ||
|
|
||
| - eggs (1) | ||
| - peanuts (2) | ||
| - shellfish (4) | ||
| - strawberries (8) | ||
| - tomatoes (16) | ||
| - chocolate (32) | ||
| - pollen (64) | ||
| - cats (128) | ||
|
|
||
| So if Tom is allergic to peanuts and chocolate, he gets a score of 34. | ||
|
|
||
| Now, given just that score of 34, your program should be able to say: | ||
|
|
||
| - Whether Tom is allergic to any one of those allergens listed above. | ||
| - All the allergens Tom is allergic to. | ||
|
|
||
| Note: a given score may include allergens **not** listed above (i.e. allergens that score 256, 512, 1024, etc.). | ||
| Your program should ignore those components of the score. | ||
| For example, if the allergy score is 257, your program should only report the eggs (1) allergy. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| { | ||
| "authors": [ | ||
| "YanniPapandreou" | ||
| ], | ||
| "files": { | ||
| "solution": [ | ||
| "allergies.nu" | ||
| ], | ||
| "test": [ | ||
| "tests.nu" | ||
| ], | ||
| "example": [ | ||
| ".meta/example.nu" | ||
| ] | ||
| }, | ||
| "blurb": "Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.", | ||
| "source": "Exercise by the JumpstartLab team for students at The Turing School of Software and Design.", | ||
| "source_url": "https://www.turing.edu/" | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| const ALLERGENS = [ | ||
| eggs | ||
| peanuts | ||
| shellfish | ||
| strawberries | ||
| tomatoes | ||
| chocolate | ||
| pollen | ||
| cats | ||
| ] | ||
|
|
||
| def get_value [item: string] { | ||
| $ALLERGENS | ||
| | enumerate | ||
| | where {|row| $row.item == $item} | ||
| | 2 ** ($in.index.0) | ||
| } | ||
|
|
||
| export def allergicTo [item: string, score: int] { | ||
| let value = get_value $item | ||
| ($score bit-and $value) != 0 | ||
| } | ||
|
|
||
| export def list [score: int] { | ||
| $ALLERGENS | ||
| | where {|allergen| allergicTo $allergen $score} | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,160 @@ | ||
| # This is an auto-generated file. | ||
| # | ||
| # Regenerating this file via `configlet sync` will: | ||
| # - Recreate every `description` key/value pair | ||
| # - Recreate every `reimplements` key/value pair, where they exist in problem-specifications | ||
| # - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) | ||
| # - Preserve any other key/value pair | ||
| # | ||
| # As user-added comments (using the # character) will be removed when this file | ||
| # is regenerated, comments can be added via a `comment` key. | ||
|
|
||
| [17fc7296-2440-4ac4-ad7b-d07c321bc5a0] | ||
| description = "testing for eggs allergy -> not allergic to anything" | ||
|
|
||
| [07ced27b-1da5-4c2e-8ae2-cb2791437546] | ||
| description = "testing for eggs allergy -> allergic only to eggs" | ||
|
|
||
| [5035b954-b6fa-4b9b-a487-dae69d8c5f96] | ||
| description = "testing for eggs allergy -> allergic to eggs and something else" | ||
|
|
||
| [64a6a83a-5723-4b5b-a896-663307403310] | ||
| description = "testing for eggs allergy -> allergic to something, but not eggs" | ||
|
|
||
| [90c8f484-456b-41c4-82ba-2d08d93231c6] | ||
| description = "testing for eggs allergy -> allergic to everything" | ||
|
|
||
| [d266a59a-fccc-413b-ac53-d57cb1f0db9d] | ||
| description = "testing for peanuts allergy -> not allergic to anything" | ||
|
|
||
| [ea210a98-860d-46b2-a5bf-50d8995b3f2a] | ||
| description = "testing for peanuts allergy -> allergic only to peanuts" | ||
|
|
||
| [eac69ae9-8d14-4291-ac4b-7fd2c73d3a5b] | ||
| description = "testing for peanuts allergy -> allergic to peanuts and something else" | ||
|
|
||
| [9152058c-ce39-4b16-9b1d-283ec6d25085] | ||
| description = "testing for peanuts allergy -> allergic to something, but not peanuts" | ||
|
|
||
| [d2d71fd8-63d5-40f9-a627-fbdaf88caeab] | ||
| description = "testing for peanuts allergy -> allergic to everything" | ||
|
|
||
| [b948b0a1-cbf7-4b28-a244-73ff56687c80] | ||
| description = "testing for shellfish allergy -> not allergic to anything" | ||
|
|
||
| [9ce9a6f3-53e9-4923-85e0-73019047c567] | ||
| description = "testing for shellfish allergy -> allergic only to shellfish" | ||
|
|
||
| [b272fca5-57ba-4b00-bd0c-43a737ab2131] | ||
| description = "testing for shellfish allergy -> allergic to shellfish and something else" | ||
|
|
||
| [21ef8e17-c227-494e-8e78-470a1c59c3d8] | ||
| description = "testing for shellfish allergy -> allergic to something, but not shellfish" | ||
|
|
||
| [cc789c19-2b5e-4c67-b146-625dc8cfa34e] | ||
| description = "testing for shellfish allergy -> allergic to everything" | ||
|
|
||
| [651bde0a-2a74-46c4-ab55-02a0906ca2f5] | ||
| description = "testing for strawberries allergy -> not allergic to anything" | ||
|
|
||
| [b649a750-9703-4f5f-b7f7-91da2c160ece] | ||
| description = "testing for strawberries allergy -> allergic only to strawberries" | ||
|
|
||
| [50f5f8f3-3bac-47e6-8dba-2d94470a4bc6] | ||
| description = "testing for strawberries allergy -> allergic to strawberries and something else" | ||
|
|
||
| [23dd6952-88c9-48d7-a7d5-5d0343deb18d] | ||
| description = "testing for strawberries allergy -> allergic to something, but not strawberries" | ||
|
|
||
| [74afaae2-13b6-43a2-837a-286cd42e7d7e] | ||
| description = "testing for strawberries allergy -> allergic to everything" | ||
|
|
||
| [c49a91ef-6252-415e-907e-a9d26ef61723] | ||
| description = "testing for tomatoes allergy -> not allergic to anything" | ||
|
|
||
| [b69c5131-b7d0-41ad-a32c-e1b2cc632df8] | ||
| description = "testing for tomatoes allergy -> allergic only to tomatoes" | ||
|
|
||
| [1ca50eb1-f042-4ccf-9050-341521b929ec] | ||
| description = "testing for tomatoes allergy -> allergic to tomatoes and something else" | ||
|
|
||
| [e9846baa-456b-4eff-8025-034b9f77bd8e] | ||
| description = "testing for tomatoes allergy -> allergic to something, but not tomatoes" | ||
|
|
||
| [b2414f01-f3ad-4965-8391-e65f54dad35f] | ||
| description = "testing for tomatoes allergy -> allergic to everything" | ||
|
|
||
| [978467ab-bda4-49f7-b004-1d011ead947c] | ||
| description = "testing for chocolate allergy -> not allergic to anything" | ||
|
|
||
| [59cf4e49-06ea-4139-a2c1-d7aad28f8cbc] | ||
| description = "testing for chocolate allergy -> allergic only to chocolate" | ||
|
|
||
| [b0a7c07b-2db7-4f73-a180-565e07040ef1] | ||
| description = "testing for chocolate allergy -> allergic to chocolate and something else" | ||
|
|
||
| [f5506893-f1ae-482a-b516-7532ba5ca9d2] | ||
| description = "testing for chocolate allergy -> allergic to something, but not chocolate" | ||
|
|
||
| [02debb3d-d7e2-4376-a26b-3c974b6595c6] | ||
| description = "testing for chocolate allergy -> allergic to everything" | ||
|
|
||
| [17f4a42b-c91e-41b8-8a76-4797886c2d96] | ||
| description = "testing for pollen allergy -> not allergic to anything" | ||
|
|
||
| [7696eba7-1837-4488-882a-14b7b4e3e399] | ||
| description = "testing for pollen allergy -> allergic only to pollen" | ||
|
|
||
| [9a49aec5-fa1f-405d-889e-4dfc420db2b6] | ||
| description = "testing for pollen allergy -> allergic to pollen and something else" | ||
|
|
||
| [3cb8e79f-d108-4712-b620-aa146b1954a9] | ||
| description = "testing for pollen allergy -> allergic to something, but not pollen" | ||
|
|
||
| [1dc3fe57-7c68-4043-9d51-5457128744b2] | ||
| description = "testing for pollen allergy -> allergic to everything" | ||
|
|
||
| [d3f523d6-3d50-419b-a222-d4dfd62ce314] | ||
| description = "testing for cats allergy -> not allergic to anything" | ||
|
|
||
| [eba541c3-c886-42d3-baef-c048cb7fcd8f] | ||
| description = "testing for cats allergy -> allergic only to cats" | ||
|
|
||
| [ba718376-26e0-40b7-bbbe-060287637ea5] | ||
| description = "testing for cats allergy -> allergic to cats and something else" | ||
|
|
||
| [3c6dbf4a-5277-436f-8b88-15a206f2d6c4] | ||
| description = "testing for cats allergy -> allergic to something, but not cats" | ||
|
|
||
| [1faabb05-2b98-4995-9046-d83e4a48a7c1] | ||
| description = "testing for cats allergy -> allergic to everything" | ||
|
|
||
| [f9c1b8e7-7dc5-4887-aa93-cebdcc29dd8f] | ||
| description = "list when: -> no allergies" | ||
|
|
||
| [9e1a4364-09a6-4d94-990f-541a94a4c1e8] | ||
| description = "list when: -> just eggs" | ||
|
|
||
| [8851c973-805e-4283-9e01-d0c0da0e4695] | ||
| description = "list when: -> just peanuts" | ||
|
|
||
| [2c8943cb-005e-435f-ae11-3e8fb558ea98] | ||
| description = "list when: -> just strawberries" | ||
|
|
||
| [6fa95d26-044c-48a9-8a7b-9ee46ec32c5c] | ||
| description = "list when: -> eggs and peanuts" | ||
|
|
||
| [19890e22-f63f-4c5c-a9fb-fb6eacddfe8e] | ||
| description = "list when: -> more than eggs but not peanuts" | ||
|
|
||
| [4b68f470-067c-44e4-889f-c9fe28917d2f] | ||
| description = "list when: -> lots of stuff" | ||
|
|
||
| [0881b7c5-9efa-4530-91bd-68370d054bc7] | ||
| description = "list when: -> everything" | ||
|
|
||
| [12ce86de-b347-42a0-ab7c-2e0570f0c65b] | ||
| description = "list when: -> no allergen score parts" | ||
|
|
||
| [93c2df3e-4f55-4fed-8116-7513092819cd] | ||
| description = "list when: -> no allergen score parts without highest valid score" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| export def allergicTo [item: string, score: int] { | ||
| error make {msg: "Please implement allergicTo"} | ||
| } | ||
|
|
||
| export def list [score: int] { | ||
| error make {msg: "Please implement list"} | ||
| } |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.