{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-04-06T14:01:22.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2026-04-06T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":42638,"title":"Number of active Cody players by date","description":"I'm looking to start a series of problems related to web scraping. In this problem, you are given a date in 'dd mmm yyyy' format and must return the total number of active Cody players as of that date. _Active_ is defined as having a nonzero score.\r\n\r\n*Examples*\r\n\r\n  numcodyplayers('1 Jan 2000') returns 0\r\n\r\nbecause Cody did not exist (at least not publicly) at that time\r\n\r\n  numcodyplayers('26 Jan 2012') returns 260\r\n\r\nbecause in the first week of recorded activity, 260 unique players participated.\r\n\r\n*Notes*\r\n\r\n* Players who were active _on or prior to_ the input date count toward the output. For instance, if the input date is yesterday, then all activity prior to 12:00am this morning should be included.\r\n* You may find \u003chttp://blogs.mathworks.com/videos/2015/09/23/reading-web-pages-part-1-using-webread/ this recent blog post\u003e helpful for getting started.\r\n* As tempting as it may be, I encourage you not to hard-code the answers. I will update the test suite if this becomes an issue.","description_html":"\u003cp\u003eI'm looking to start a series of problems related to web scraping. In this problem, you are given a date in 'dd mmm yyyy' format and must return the total number of active Cody players as of that date. \u003ci\u003eActive\u003c/i\u003e is defined as having a nonzero score.\u003c/p\u003e\u003cp\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003enumcodyplayers('1 Jan 2000') returns 0\r\n\u003c/pre\u003e\u003cp\u003ebecause Cody did not exist (at least not publicly) at that time\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003enumcodyplayers('26 Jan 2012') returns 260\r\n\u003c/pre\u003e\u003cp\u003ebecause in the first week of recorded activity, 260 unique players participated.\u003c/p\u003e\u003cp\u003e\u003cb\u003eNotes\u003c/b\u003e\u003c/p\u003e\u003cul\u003e\u003cli\u003ePlayers who were active \u003ci\u003eon or prior to\u003c/i\u003e the input date count toward the output. For instance, if the input date is yesterday, then all activity prior to 12:00am this morning should be included.\u003c/li\u003e\u003cli\u003eYou may find \u003ca href = \"http://blogs.mathworks.com/videos/2015/09/23/reading-web-pages-part-1-using-webread/\"\u003ethis recent blog post\u003c/a\u003e helpful for getting started.\u003c/li\u003e\u003cli\u003eAs tempting as it may be, I encourage you not to hard-code the answers. I will update the test suite if this becomes an issue.\u003c/li\u003e\u003c/ul\u003e","function_template":"function y = numcodyplayers(x)\r\n  y = 0;\r\nend","test_suite":"%%\r\nassert(isequal(numcodyplayers('17 Aug 1939'),0))\r\n\r\n%%\r\nassert(isequal(numcodyplayers('7 Dec 1984'),0))\r\n\r\n%%\r\nassert(isequal(numcodyplayers('1 Jan 2012'),0))\r\n\r\n%%\r\nassert(isequal(numcodyplayers('19 Jan 2012'),3))\r\n\r\n%%\r\nassert(isequal(numcodyplayers('26 Jan 2012'),260))\r\n\r\n%%\r\nassert(isequal(numcodyplayers('14 Feb 2012'),852))\r\n\r\n%%\r\nassert(isequal(numcodyplayers('19 Feb 2012'),910))","published":true,"deleted":false,"likes_count":0,"comments_count":6,"created_by":4793,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":6,"test_suite_updated_at":"2015-09-28T21:12:11.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2015-09-28T20:36:26.000Z","updated_at":"2015-09-28T21:14:11.000Z","published_at":"2015-09-28T21:12:11.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eI'm looking to start a series of problems related to web scraping. In this problem, you are given a date in 'dd mmm yyyy' format and must return the total number of active Cody players as of that date.\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eActive\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is defined as having a nonzero score.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExamples\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[numcodyplayers('1 Jan 2000') returns 0]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ebecause Cody did not exist (at least not publicly) at that time\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[numcodyplayers('26 Jan 2012') returns 260]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ebecause in the first week of recorded activity, 260 unique players participated.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNotes\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ePlayers who were active\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eon or prior to\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e the input date count toward the output. For instance, if the input date is yesterday, then all activity prior to 12:00am this morning should be included.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou may find\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://blogs.mathworks.com/videos/2015/09/23/reading-web-pages-part-1-using-webread/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ethis recent blog post\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e helpful for getting started.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAs tempting as it may be, I encourage you not to hard-code the answers. I will update the test suite if this becomes an issue.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":53980,"title":"Determine whether a player solved a Cody problem","description":"Write a function to determine whether a player has solved the specified Cody problems. The problem numbers are specified as a vector, and the player names are specified either as a character vector for a single name or a cell array of character vectors for multiple names. Because some names are not unique, the player IDs are included as well. Return 1 if the player solved the problem, 0 if the player did not solve the problem, and -1 if the problem does not exist. If there are  players and  problems, the first output should be an  matrix. The second output should be a cell array of the problem titles.\r\nI plan to check the tests regularly as players solve more problems. If you spot a problem, please feel free to contact me through my profile page. ","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 156px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 78px; transform-origin: 407px 78px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 105px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 52.5px; text-align: left; transform-origin: 384px 52.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to determine whether a player has solved the specified Cody problems. The problem numbers are specified as a vector, and the player names are specified either as a character vector for a single name or a cell array of character vectors for multiple names. Because some names are not unique, the player IDs are included as well. Return 1 if the player solved the problem, 0 if the player did not solve the problem, and -1 if the problem does not exist. If there are \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: STIXGeneral, STIXGeneral-webfont, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003em\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e players and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: STIXGeneral, STIXGeneral-webfont, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e problems, the first output should be an \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAAAkCAYAAADB7MdlAAAAAXNSR0IArs4c6QAABJhJREFUaEPtmFnoVVUUxn9mSGJqDj1UDzkUGogjauiD4phGThXiGIlQEhYliJY5gz6IipjaJOWUZSimD2E9JGSR+CISFoIhmKGC4oTzsD9Z+8/2eO69Z9+/5H3YCy7/4ayz99rf+ta31r4NSFYYgQaFPZMjCawIEiSwElgRCES4JmYlsCIQiHBNzEpgRSAQ4ZqYlcCKQCDCtRaYpRj6Ac8A3wI3Csav90YDl4A9wO2C71XtVgtgdTCQ2gHvA18XAExxjwPWAUeBse7vv6tGoeCLtQCWYngJWAu0LADYI8B4YA1wBpgG/PiwmNXISqIr0MMF8qJl/nNAgQ4AZgG9nJ/+N9dKQYfuZs90+G32++kCiSsKWH2A0h5PAGJyd6An0BB4z33OAm0c+O8CY4Dzjt1znN8PYex5zHoBeB54BxgC/Ae8AvwFfGgASldeBi6YzwFgAjAdOOQ+rwJNgZHZDcsAVwmw+gClbRVPf9O5Ny2OGQ7AlXaGj92zg8Bw4Fnge2CqY/o5H3OpMtT/59lHL4nqU4DLwGdAb2CvA+gI8JpbuJOJ9GzgSWNil0iwFFMpwG5lSu8DYEeVpdcX+NUSPQx41M4n4FTWKxxB3gI2GmFEiLtWCixl4RNgkpXZPw6kp4HlJr5aTOIqrVgPKABlRgsPtu6kLFUjvFnAdIibxgAdpj5A6cxh7Etcg5gMfOQAOwm0MJBUNdpXwNV12VJgPQdstZJbZcEKDLVpadpSE2Khf9GBvsA203raeFFeZgpoV5hEL/oqCdmxBwBU44A50ttmwDJAMiLrCHxn+iXW7aukWXru2SGm/G4l+K+9KIZttvrXAd6wkvS64BkpBigz1ZrEV41ksS2w0H6/Xu2CpkVbHPP7mBbPtLN49oxwTWon8LMxTnpdZ3nMCtkhsFSKWsCbOuQu4CkrPbHMD5LhzHRfZiIOGYq5JEGmWIrOYaW28iTQczFL66laZEqOKkK6q/JUJan8y4Kluv3SusYG63Bqpd58zR8GXnefP4NnPjO/WHc8EQGQd812PWnHFdPQInNYqS1DEogxo1zn2x84tzbpUPnndvE8ZoXMmWg09WuGNa8SU5lcy8lM9llRzLJAeTHX+zGDa95+zYEvrHt/aqxSd/fmz32qVGPKA8sz5w+7UqgTemvrhrpvbHTQDPZT8CwMRiBLGzTXHLcRoxJgpYDyelJpDqu0fmebnTRDag7cnnnBn9uPDI9Zg9O9U6PLfaNDyBx1QQng1Zwy+83mHgm8Nx/M4zbE6qfKUpNwmMG8Q4V3vXLjQX0A09C8CcgjQXhusVkMVNXIX3Jz17LM8gKtgTKLfiiAeTT2eqVBVVedJu56pA6mw5ezokCFMceWZDju5MXeyuRmKLDajRNK9FdBl88Fyx84b6BU95PgDwLedt1Qm4ammtdIIdOlWNnxnaYcWO0tg1q/6MAZMkzJEGvqGJCzWTjuZHVY7v6OON9EX/ddjUz3fO1TC986KFhdbPV91u6IK4xiH2glfs/wWEm8qn1eK2BVG///+l4CKwLuBFYCKwKBCNfErARWBAIRrolZCawIBCJc7wBGPSg0G01ztwAAAABJRU5ErkJggg==\" width=\"37.5\" height=\"18\" alt=\"mxn\" style=\"width: 37.5px; height: 18px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e matrix. The second output should be a cell array of the problem titles.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eI plan to check the tests regularly as players solve more problems. If you spot a problem, please feel free to contact me through \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/profile/authors/1887879\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003emy profile page\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [y,CPtitle] = isSolved(CPnum,players)\r\n% CPnum    1xn vector of problem numbers\r\n% players  either a character vector or a 1xm cell array of player names\r\n% y        mxn matrix of results (1 = solved, 0 = not solved, -1 = problem does not exist)\r\n% CPtitle  cell array of problem titles\r\n\r\ny = randi(3)-2;\r\nCPtitle = 'Verb the adjective noun';\r\nend","test_suite":"%% \r\nn  = 44340:44345;\r\np  = 'ChrisR';\r\nID = 1887879;\r\n[y,t] = isSolved(n,p,ID);\r\ny_correct = [1 1 1 0 1 1];\r\nt_correct = {'Recaman Sequence - III','Hexagonal numbers on a spiral matrix','Spot the First Occurrence of 5','Pair Primes','The 5th Root','MATLAB Counter'};\r\nassert(isequal(y,y_correct))\r\nassert(isequal(t,t_correct))\r\n\r\n%%\r\nn  = 2100:2105;\r\np  = 'ChrisR';\r\nID = 1887879;\r\n[y,t] = isSolved(n,p,ID);\r\ny_correct = [1 -1 -1 0 1 -1];\r\nt_correct = {'distance to a straight line (2D) given any 2 distinct points on this straight line','Simple Robotics 1: On track?','construct matrix with identical rows'};\r\nassert(isequal(y,y_correct))\r\nassert(isequal(t(y~=-1),t_correct))\r\n\r\n%% Grab bag\r\nn  = [46031 46053 46114 46573 47415 51451 51675 51803];\r\np  = {'William','Tim','David Hill','Nikolaos Nikolaou','Dyuman Joshi','Ramon Villamangca'};\r\nID = [173294 496166 10491973 7310613 2873 13897958];\r\n[y,t] = isSolved(n,p,ID);\r\ny_correct = [1 0 1 1 1 1 1 1; 1 1 1 1 1 0 1 0; 0 0 0 1 1 1 1 1; 0 0 0 0 0 0 1 0; 0 0 1 1 1 0 1 0; 0 0 0 0 0 0 1 0];\r\nt_correct = {'Construct dimensionless parameters','Construct finite difference approximations of derivatives','Compute the date of a special marriage milestone','Determine the winner of a goofy golf tournament','List ways to reach a target sum',['Guess the card in Fitch Cheney’s five-card trick'],'Add 100','Eliminate redundant numbers in text'};\r\nassert(isequal(y,y_correct))\r\nassert(isequal(t,t_correct))\r\n\r\n%% My targets (2022/01/29)\r\nn  = [193 375 782 2523 42834 45272 45274 47623];\r\np  = 'ChrisR';\r\nID = 1887879;\r\n[y,~] = isSolved(n,p,ID);   \r\n%assert(all(y==0));\r\ny_correct = [1 0 0 1 1 1 1 0];   %  2022/12/29\r\nassert(isequal(y,y_correct))\r\n\r\n%% Problems with \u003e9 likes that I haven't solved as of 2022/01/29 \r\nn = [283 3075 42888 42996 43670 44376 44630];      % CP 375 is in the target list\r\np = {'William','Tim','David Hill','Nikolaos Nikolaou','Mehmet OZC','minnolina','Dyuman Joshi','Ramon Villamangca','ChrisR'};\r\nID = [173294 496166 10491973 7310613 3877541 9646924 12862873 13897958 1887879];\r\n[y,~] = isSolved(n,p,ID);\r\ny_correct = [1 1 1 1 1 1 1; 1 1 1 0 0 1 1; 0 0 0 1 1 0 0; 0 1 0 1 1 0 1; 0 1 0 1 0 0 0; 0 0 0 0 0 0 0; 0 1 0 0 1 0 0; 0 0 1 0 0 0 0; 0 1 1 1 1 0 1];  %  Updated 2022/04/24\r\nassert(isequal(y,y_correct))\r\n\r\n%%\r\nfiletext = fileread('isSolved.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'assert'); \r\nassert(~illegal)","published":true,"deleted":false,"likes_count":2,"comments_count":6,"created_by":46909,"edited_by":46909,"edited_at":"2024-11-02T15:08:42.000Z","deleted_by":null,"deleted_at":null,"solvers_count":3,"test_suite_updated_at":"2024-11-02T15:08:42.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2022-01-29T16:08:07.000Z","updated_at":"2025-10-12T06:40:33.000Z","published_at":"2022-01-29T16:17:43.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWrite a function to determine whether a player has solved the specified Cody problems. The problem numbers are specified as a vector, and the player names are specified either as a character vector for a single name or a cell array of character vectors for multiple names. Because some names are not unique, the player IDs are included as well. Return 1 if the player solved the problem, 0 if the player did not solve the problem, and -1 if the problem does not exist. If there are \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"m\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003em\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e players and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"n\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e problems, the first output should be an \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"mxn\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003em\\\\times n\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e matrix. The second output should be a cell array of the problem titles.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eI plan to check the tests regularly as players solve more problems. If you spot a problem, please feel free to contact me through \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/profile/authors/1887879\\\"\u003e\u003cw:r\u003e\u003cw:t\u003emy profile page\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":42638,"title":"Number of active Cody players by date","description":"I'm looking to start a series of problems related to web scraping. In this problem, you are given a date in 'dd mmm yyyy' format and must return the total number of active Cody players as of that date. _Active_ is defined as having a nonzero score.\r\n\r\n*Examples*\r\n\r\n  numcodyplayers('1 Jan 2000') returns 0\r\n\r\nbecause Cody did not exist (at least not publicly) at that time\r\n\r\n  numcodyplayers('26 Jan 2012') returns 260\r\n\r\nbecause in the first week of recorded activity, 260 unique players participated.\r\n\r\n*Notes*\r\n\r\n* Players who were active _on or prior to_ the input date count toward the output. For instance, if the input date is yesterday, then all activity prior to 12:00am this morning should be included.\r\n* You may find \u003chttp://blogs.mathworks.com/videos/2015/09/23/reading-web-pages-part-1-using-webread/ this recent blog post\u003e helpful for getting started.\r\n* As tempting as it may be, I encourage you not to hard-code the answers. I will update the test suite if this becomes an issue.","description_html":"\u003cp\u003eI'm looking to start a series of problems related to web scraping. In this problem, you are given a date in 'dd mmm yyyy' format and must return the total number of active Cody players as of that date. \u003ci\u003eActive\u003c/i\u003e is defined as having a nonzero score.\u003c/p\u003e\u003cp\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003enumcodyplayers('1 Jan 2000') returns 0\r\n\u003c/pre\u003e\u003cp\u003ebecause Cody did not exist (at least not publicly) at that time\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003enumcodyplayers('26 Jan 2012') returns 260\r\n\u003c/pre\u003e\u003cp\u003ebecause in the first week of recorded activity, 260 unique players participated.\u003c/p\u003e\u003cp\u003e\u003cb\u003eNotes\u003c/b\u003e\u003c/p\u003e\u003cul\u003e\u003cli\u003ePlayers who were active \u003ci\u003eon or prior to\u003c/i\u003e the input date count toward the output. For instance, if the input date is yesterday, then all activity prior to 12:00am this morning should be included.\u003c/li\u003e\u003cli\u003eYou may find \u003ca href = \"http://blogs.mathworks.com/videos/2015/09/23/reading-web-pages-part-1-using-webread/\"\u003ethis recent blog post\u003c/a\u003e helpful for getting started.\u003c/li\u003e\u003cli\u003eAs tempting as it may be, I encourage you not to hard-code the answers. I will update the test suite if this becomes an issue.\u003c/li\u003e\u003c/ul\u003e","function_template":"function y = numcodyplayers(x)\r\n  y = 0;\r\nend","test_suite":"%%\r\nassert(isequal(numcodyplayers('17 Aug 1939'),0))\r\n\r\n%%\r\nassert(isequal(numcodyplayers('7 Dec 1984'),0))\r\n\r\n%%\r\nassert(isequal(numcodyplayers('1 Jan 2012'),0))\r\n\r\n%%\r\nassert(isequal(numcodyplayers('19 Jan 2012'),3))\r\n\r\n%%\r\nassert(isequal(numcodyplayers('26 Jan 2012'),260))\r\n\r\n%%\r\nassert(isequal(numcodyplayers('14 Feb 2012'),852))\r\n\r\n%%\r\nassert(isequal(numcodyplayers('19 Feb 2012'),910))","published":true,"deleted":false,"likes_count":0,"comments_count":6,"created_by":4793,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":6,"test_suite_updated_at":"2015-09-28T21:12:11.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2015-09-28T20:36:26.000Z","updated_at":"2015-09-28T21:14:11.000Z","published_at":"2015-09-28T21:12:11.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eI'm looking to start a series of problems related to web scraping. In this problem, you are given a date in 'dd mmm yyyy' format and must return the total number of active Cody players as of that date.\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eActive\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is defined as having a nonzero score.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExamples\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[numcodyplayers('1 Jan 2000') returns 0]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ebecause Cody did not exist (at least not publicly) at that time\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[numcodyplayers('26 Jan 2012') returns 260]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ebecause in the first week of recorded activity, 260 unique players participated.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNotes\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ePlayers who were active\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eon or prior to\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e the input date count toward the output. For instance, if the input date is yesterday, then all activity prior to 12:00am this morning should be included.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou may find\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://blogs.mathworks.com/videos/2015/09/23/reading-web-pages-part-1-using-webread/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ethis recent blog post\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e helpful for getting started.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAs tempting as it may be, I encourage you not to hard-code the answers. I will update the test suite if this becomes an issue.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":53980,"title":"Determine whether a player solved a Cody problem","description":"Write a function to determine whether a player has solved the specified Cody problems. The problem numbers are specified as a vector, and the player names are specified either as a character vector for a single name or a cell array of character vectors for multiple names. Because some names are not unique, the player IDs are included as well. Return 1 if the player solved the problem, 0 if the player did not solve the problem, and -1 if the problem does not exist. If there are  players and  problems, the first output should be an  matrix. The second output should be a cell array of the problem titles.\r\nI plan to check the tests regularly as players solve more problems. If you spot a problem, please feel free to contact me through my profile page. ","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 156px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 78px; transform-origin: 407px 78px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 105px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 52.5px; text-align: left; transform-origin: 384px 52.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to determine whether a player has solved the specified Cody problems. The problem numbers are specified as a vector, and the player names are specified either as a character vector for a single name or a cell array of character vectors for multiple names. Because some names are not unique, the player IDs are included as well. Return 1 if the player solved the problem, 0 if the player did not solve the problem, and -1 if the problem does not exist. If there are \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: STIXGeneral, STIXGeneral-webfont, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003em\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e players and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: STIXGeneral, STIXGeneral-webfont, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e problems, the first output should be an \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAAAkCAYAAADB7MdlAAAAAXNSR0IArs4c6QAABJhJREFUaEPtmFnoVVUUxn9mSGJqDj1UDzkUGogjauiD4phGThXiGIlQEhYliJY5gz6IipjaJOWUZSimD2E9JGSR+CISFoIhmKGC4oTzsD9Z+8/2eO69Z9+/5H3YCy7/4ayz99rf+ta31r4NSFYYgQaFPZMjCawIEiSwElgRCES4JmYlsCIQiHBNzEpgRSAQ4ZqYlcCKQCDCtRaYpRj6Ac8A3wI3Csav90YDl4A9wO2C71XtVgtgdTCQ2gHvA18XAExxjwPWAUeBse7vv6tGoeCLtQCWYngJWAu0LADYI8B4YA1wBpgG/PiwmNXISqIr0MMF8qJl/nNAgQ4AZgG9nJ/+N9dKQYfuZs90+G32++kCiSsKWH2A0h5PAGJyd6An0BB4z33OAm0c+O8CY4Dzjt1znN8PYex5zHoBeB54BxgC/Ae8AvwFfGgASldeBi6YzwFgAjAdOOQ+rwJNgZHZDcsAVwmw+gClbRVPf9O5Ny2OGQ7AlXaGj92zg8Bw4Fnge2CqY/o5H3OpMtT/59lHL4nqU4DLwGdAb2CvA+gI8JpbuJOJ9GzgSWNil0iwFFMpwG5lSu8DYEeVpdcX+NUSPQx41M4n4FTWKxxB3gI2GmFEiLtWCixl4RNgkpXZPw6kp4HlJr5aTOIqrVgPKABlRgsPtu6kLFUjvFnAdIibxgAdpj5A6cxh7Etcg5gMfOQAOwm0MJBUNdpXwNV12VJgPQdstZJbZcEKDLVpadpSE2Khf9GBvsA203raeFFeZgpoV5hEL/oqCdmxBwBU44A50ttmwDJAMiLrCHxn+iXW7aukWXru2SGm/G4l+K+9KIZttvrXAd6wkvS64BkpBigz1ZrEV41ksS2w0H6/Xu2CpkVbHPP7mBbPtLN49oxwTWon8LMxTnpdZ3nMCtkhsFSKWsCbOuQu4CkrPbHMD5LhzHRfZiIOGYq5JEGmWIrOYaW28iTQczFL66laZEqOKkK6q/JUJan8y4Kluv3SusYG63Bqpd58zR8GXnefP4NnPjO/WHc8EQGQd812PWnHFdPQInNYqS1DEogxo1zn2x84tzbpUPnndvE8ZoXMmWg09WuGNa8SU5lcy8lM9llRzLJAeTHX+zGDa95+zYEvrHt/aqxSd/fmz32qVGPKA8sz5w+7UqgTemvrhrpvbHTQDPZT8CwMRiBLGzTXHLcRoxJgpYDyelJpDqu0fmebnTRDag7cnnnBn9uPDI9Zg9O9U6PLfaNDyBx1QQng1Zwy+83mHgm8Nx/M4zbE6qfKUpNwmMG8Q4V3vXLjQX0A09C8CcgjQXhusVkMVNXIX3Jz17LM8gKtgTKLfiiAeTT2eqVBVVedJu56pA6mw5ezokCFMceWZDju5MXeyuRmKLDajRNK9FdBl88Fyx84b6BU95PgDwLedt1Qm4ammtdIIdOlWNnxnaYcWO0tg1q/6MAZMkzJEGvqGJCzWTjuZHVY7v6OON9EX/ddjUz3fO1TC986KFhdbPV91u6IK4xiH2glfs/wWEm8qn1eK2BVG///+l4CKwLuBFYCKwKBCNfErARWBAIRrolZCawIBCJc7wBGPSg0G01ztwAAAABJRU5ErkJggg==\" width=\"37.5\" height=\"18\" alt=\"mxn\" style=\"width: 37.5px; height: 18px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e matrix. The second output should be a cell array of the problem titles.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eI plan to check the tests regularly as players solve more problems. If you spot a problem, please feel free to contact me through \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/profile/authors/1887879\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003emy profile page\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [y,CPtitle] = isSolved(CPnum,players)\r\n% CPnum    1xn vector of problem numbers\r\n% players  either a character vector or a 1xm cell array of player names\r\n% y        mxn matrix of results (1 = solved, 0 = not solved, -1 = problem does not exist)\r\n% CPtitle  cell array of problem titles\r\n\r\ny = randi(3)-2;\r\nCPtitle = 'Verb the adjective noun';\r\nend","test_suite":"%% \r\nn  = 44340:44345;\r\np  = 'ChrisR';\r\nID = 1887879;\r\n[y,t] = isSolved(n,p,ID);\r\ny_correct = [1 1 1 0 1 1];\r\nt_correct = {'Recaman Sequence - III','Hexagonal numbers on a spiral matrix','Spot the First Occurrence of 5','Pair Primes','The 5th Root','MATLAB Counter'};\r\nassert(isequal(y,y_correct))\r\nassert(isequal(t,t_correct))\r\n\r\n%%\r\nn  = 2100:2105;\r\np  = 'ChrisR';\r\nID = 1887879;\r\n[y,t] = isSolved(n,p,ID);\r\ny_correct = [1 -1 -1 0 1 -1];\r\nt_correct = {'distance to a straight line (2D) given any 2 distinct points on this straight line','Simple Robotics 1: On track?','construct matrix with identical rows'};\r\nassert(isequal(y,y_correct))\r\nassert(isequal(t(y~=-1),t_correct))\r\n\r\n%% Grab bag\r\nn  = [46031 46053 46114 46573 47415 51451 51675 51803];\r\np  = {'William','Tim','David Hill','Nikolaos Nikolaou','Dyuman Joshi','Ramon Villamangca'};\r\nID = [173294 496166 10491973 7310613 2873 13897958];\r\n[y,t] = isSolved(n,p,ID);\r\ny_correct = [1 0 1 1 1 1 1 1; 1 1 1 1 1 0 1 0; 0 0 0 1 1 1 1 1; 0 0 0 0 0 0 1 0; 0 0 1 1 1 0 1 0; 0 0 0 0 0 0 1 0];\r\nt_correct = {'Construct dimensionless parameters','Construct finite difference approximations of derivatives','Compute the date of a special marriage milestone','Determine the winner of a goofy golf tournament','List ways to reach a target sum',['Guess the card in Fitch Cheney’s five-card trick'],'Add 100','Eliminate redundant numbers in text'};\r\nassert(isequal(y,y_correct))\r\nassert(isequal(t,t_correct))\r\n\r\n%% My targets (2022/01/29)\r\nn  = [193 375 782 2523 42834 45272 45274 47623];\r\np  = 'ChrisR';\r\nID = 1887879;\r\n[y,~] = isSolved(n,p,ID);   \r\n%assert(all(y==0));\r\ny_correct = [1 0 0 1 1 1 1 0];   %  2022/12/29\r\nassert(isequal(y,y_correct))\r\n\r\n%% Problems with \u003e9 likes that I haven't solved as of 2022/01/29 \r\nn = [283 3075 42888 42996 43670 44376 44630];      % CP 375 is in the target list\r\np = {'William','Tim','David Hill','Nikolaos Nikolaou','Mehmet OZC','minnolina','Dyuman Joshi','Ramon Villamangca','ChrisR'};\r\nID = [173294 496166 10491973 7310613 3877541 9646924 12862873 13897958 1887879];\r\n[y,~] = isSolved(n,p,ID);\r\ny_correct = [1 1 1 1 1 1 1; 1 1 1 0 0 1 1; 0 0 0 1 1 0 0; 0 1 0 1 1 0 1; 0 1 0 1 0 0 0; 0 0 0 0 0 0 0; 0 1 0 0 1 0 0; 0 0 1 0 0 0 0; 0 1 1 1 1 0 1];  %  Updated 2022/04/24\r\nassert(isequal(y,y_correct))\r\n\r\n%%\r\nfiletext = fileread('isSolved.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'assert'); \r\nassert(~illegal)","published":true,"deleted":false,"likes_count":2,"comments_count":6,"created_by":46909,"edited_by":46909,"edited_at":"2024-11-02T15:08:42.000Z","deleted_by":null,"deleted_at":null,"solvers_count":3,"test_suite_updated_at":"2024-11-02T15:08:42.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2022-01-29T16:08:07.000Z","updated_at":"2025-10-12T06:40:33.000Z","published_at":"2022-01-29T16:17:43.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWrite a function to determine whether a player has solved the specified Cody problems. The problem numbers are specified as a vector, and the player names are specified either as a character vector for a single name or a cell array of character vectors for multiple names. Because some names are not unique, the player IDs are included as well. Return 1 if the player solved the problem, 0 if the player did not solve the problem, and -1 if the problem does not exist. If there are \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"m\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003em\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e players and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"n\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e problems, the first output should be an \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"mxn\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003em\\\\times n\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e matrix. The second output should be a cell array of the problem titles.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eI plan to check the tests regularly as players solve more problems. If you spot a problem, please feel free to contact me through \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/profile/authors/1887879\\\"\u003e\u003cw:r\u003e\u003cw:t\u003emy profile page\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"}],"term":"tag:\"webread\"","current_player_id":null,"fields":[{"name":"page","type":"integer","callback":null,"default":1,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"per_page","type":"integer","callback":null,"default":50,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"sort","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"body","type":"text","callback":null,"default":"*:*","directive":null,"facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":false},{"name":"group","type":"string","callback":null,"default":null,"directive":"group","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"difficulty_rating_bin","type":"string","callback":null,"default":null,"directive":"difficulty_rating_bin","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"id","type":"integer","callback":null,"default":null,"directive":"id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"tag","type":"string","callback":null,"default":null,"directive":"tag","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"product","type":"string","callback":null,"default":null,"directive":"product","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_at","type":"timeframe","callback":{},"default":null,"directive":"created_at","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"profile_id","type":"integer","callback":null,"default":null,"directive":"author_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_by","type":"string","callback":null,"default":null,"directive":"author","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player_id","type":"integer","callback":null,"default":null,"directive":"solver_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player","type":"string","callback":null,"default":null,"directive":"solver","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"solvers_count","type":"integer","callback":null,"default":null,"directive":"solvers_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"comments_count","type":"integer","callback":null,"default":null,"directive":"comments_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"likes_count","type":"integer","callback":null,"default":null,"directive":"likes_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leader_id","type":"integer","callback":null,"default":null,"directive":"leader_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leading_solution","type":"integer","callback":null,"default":null,"directive":"leading_solution","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true}],"filters":[{"name":"asset_type","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":"\"cody:problem\"","prepend":true},{"name":"profile_id","type":"integer","callback":{},"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":"author_id","static":null,"prepend":true}],"query":{"params":{"per_page":50,"term":"tag:\"webread\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"webread\"","","\"","webread","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fb60db570a0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fb60db57000\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fb60db564c0\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fb60db573c0\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fb60db57280\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fb60db571e0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fb60db57140\u003e":"tag:\"webread\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fb60db57140\u003e":"tag:\"webread\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"cody-search","password":"78X075ddcV44","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"webread\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"webread\"","","\"","webread","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fb60db570a0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fb60db57000\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fb60db564c0\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fb60db573c0\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fb60db57280\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fb60db571e0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fb60db57140\u003e":"tag:\"webread\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fb60db57140\u003e":"tag:\"webread\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":42638,"difficulty_rating":"medium"},{"id":53980,"difficulty_rating":"medium-hard"}]}}