Skip to content
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

Deduplicate - sum of digits #145

Open
3 of 6 tasks
hobovsky opened this issue Sep 5, 2022 · 6 comments
Open
3 of 6 tasks

Deduplicate - sum of digits #145

hobovsky opened this issue Sep 5, 2022 · 6 comments
Labels
discussion/deduplicate Discussion and vote what to do with duplicate kata

Comments

@hobovsky
Copy link
Contributor

hobovsky commented Sep 5, 2022

Originally reported on #39

  1. Sum of Digits / Digital Root
  • 6kyu
  • Calculate digital root
  • 90% with ~190k completions
  • 2 pending issues
  • 29 languages + 2 pending translations
  • Published Sep 2014, author inactive
  1. Life Path Number
  • 7kyu
  • Calculate digital root. Input is a formatted string.
  • 92% with 3k completions
  • 1 pending issue
  • 5 languages + 1 pending translation (all languages covered by 1.)
  • Published Nov 2016, author last active Jul 2022
  1. Digit Sum
  • 7kyu
  • Calculate digital root. Input is a string so it's required to handle a potential overflow or values out of bounds of basic numeric types.
  • 90% with ~700 completions
  • No pending issues
  • 2 languages + 1 pending translation
  • Published Feb 2016, author last active Jul 2022
  1. Sum of digits
  • 7kyu
  • Just a sum of digits. Valid inputs of many types, input validation.
  • 86% with ~1.6k completions
  • No pending issues
  • 2 languages
  • Published Sep 2017, author inactive
  1. Summing a number's digits
  • 7kyu
  • Sum of digits, input can be negative
  • 92% with 25k completions
  • No pending issues
  • 11 languages + 3 pending translations
  • Published Feb 2014, author inactive
  1. Debug Sum of Digits of a Number
  • 7kyu
  • bug fixing. Return sum of digits.
  • 91% with ~4.5k solutions
  • No pending issues
  • 2 languages + 3 pending translations
  • Published Nov 2015, author inactive

Conclusion

Filling gaps

  • Move D pending translation from 6. to 5.
  • Move Go pending translation from 6. to 5.
  • Move Rust pending translation from 6. to 5.
@hobovsky
Copy link
Contributor Author

hobovsky commented Sep 5, 2022

Kata 1., 2., and 3., all ask for a digital root. Kata 2. requires a bit of preprocessing, and kata 3. makes O(1) solutions tricky. Still, I am not sure if we need all of them, I would be fine with keeping only 1.

I am not sure if kata 5. is a duplicate of 1., because the task is slightly different. Maybe on this level of difficulty it might be worth keeping?
Kata 4. is annoying with its requirements, and is a duplicate of 5. It can go away, I vote retire.

Kata 6. is yet another bug fixing kata with discardable initial code and no real need for debugging. If it were retired in favor of 5., it has three unique languages to move. I have no strong opinion here: I don;t like bugfix kata which do not require debugging, but I can see how they can be interesting for some users.

@ejini6969
Copy link

Keep 1, 5. Retire the rest due to annoying input validation or solutions that can be directly retrieved (with a minor tweak, if any) from 1 or 5.

@hobovsky hobovsky added the discussion/deduplicate Discussion and vote what to do with duplicate kata label Sep 5, 2022
@Kacarott
Copy link

Kacarott commented Sep 5, 2022

Keep 1 and 5

@benjaminzwhite
Copy link

Keep 1. Retire 2,3,4 agree with ejini.

I vote retire 5 - it's just 1 with abs() added, unless this is particularly interesting/challenging in other languages?

I personally like the 7-8 kyu debug katas like 6; sure you can discard the initial code but it's the kind of thing I'd like to solve when starting a new language. Also, if you solve it the "noob way" and it you then read about "smart way" in the solutions, I think that's a nice learning experience and it gets people engaged with the site.

@EloiseRosen
Copy link

EloiseRosen commented Sep 7, 2022

5 - it's just 1 with abs() added

note that 5 also requires only 1 application of the summing process (99 -> 18 and stops there), while 1 requires continuing until the result has a length of 1. Not that that makes it interesting or necessarily worth keeping.

keep 1, idk about 5, retire the others

@hobovsky
Copy link
Contributor Author

Since there are recurring opinions to keep 5., I think it's good to keep together with 1.

@hobovsky hobovsky moved this from Discussing to Filling gaps in Deduplication process Sep 20, 2022
@kazk kazk removed their assignment Sep 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion/deduplicate Discussion and vote what to do with duplicate kata
Projects
Status: Filling gaps
Development

No branches or pull requests

6 participants