├── Hard ├── PentagonalNumber.py ├── PentagonalNumber.js ├── PentagonalNumber.c ├── KaprekarsConstant.js ├── KaprekarsConstant.c └── MaximalSquare.js ├── Easy ├── CheckNums.js ├── AlphabetSoup.js ├── TimeConvert.js ├── FirstReverse.js ├── SimpleAdding.js ├── SimpleAdding.c ├── TimeConvert.c ├── CheckNums.c ├── LetterCapitalize.js ├── FirstFactorial.c ├── FirstReverse.c ├── FirstFactorial.js ├── LongestWord.js ├── AlphabetSoup.c ├── LetterCapitalize.c ├── SimpleSymbols.js ├── LetterChanges.js ├── SimpleSymbols.c ├── LetterChanges.c ├── LongestWord.c ├── VowelSquare.js ├── QuestionMarks.c ├── VowelSquare.c ├── QuestionMarks.js └── CorrectPath.js ├── .gitignore └── README.md /Hard/PentagonalNumber.py: -------------------------------------------------------------------------------- 1 | def PentagonalNumber(n): 2 | return 1+5*(n*(n-1)/2) 3 | 4 | print PentagonalNumber(raw_input()) 5 | -------------------------------------------------------------------------------- /Easy/CheckNums.js: -------------------------------------------------------------------------------- 1 | /* 2 | QUESTION: 3 | Have the function CheckNums(num1,num2) take both parameters being passed and return the string true if num2 is greater than num1, otherwise return the string false. If the parameter values are equal to each other then return the string -1. 4 | */ 5 | function CheckNums(num1,num2) { 6 | return (num1 == num2)?-1:(num2>num1) 7 | } 8 | 9 | // keep this function call here 10 | CheckNums(readline()); 11 | -------------------------------------------------------------------------------- /Easy/AlphabetSoup.js: -------------------------------------------------------------------------------- 1 | /* 2 | QUESTION: 3 | Have the function AlphabetSoup(str) take the str string parameter being passed and return the string with the letters in alphabetical order (ie. hello becomes ehllo). Assume numbers and punctuation symbols will not be included in the string. 4 | */ 5 | function AlphabetSoup(str) { 6 | return str.split("").sort().join(""); 7 | } 8 | 9 | // keep this function call here 10 | AlphabetSoup(readline()); 11 | -------------------------------------------------------------------------------- /Easy/TimeConvert.js: -------------------------------------------------------------------------------- 1 | /* 2 | QUESTION: 3 | Have the function TimeConvert(num) take the num parameter being passed and return the number of hours and minutes the parameter converts to (ie. if num = 63 then the output should be 1:3). Separate the number of hours and minutes with a colon. 4 | */ 5 | 6 | function TimeConvert(num) { 7 | return parseInt(num/60)+":"+num%60; 8 | } 9 | 10 | // keep this function call here 11 | TimeConvert(readline()); 12 | -------------------------------------------------------------------------------- /Easy/FirstReverse.js: -------------------------------------------------------------------------------- 1 | /* 2 | QUESTION: 3 | Have the function FirstReverse(str) take the str parameter being passed and return the string in reversed order. For example: if the input string is "Hello World and Coders" then your program should return the string "sredoC dna dlroW olleH". 4 | */ 5 | 6 | function FirstReverse(str) { 7 | return str.split("").reverse().join(""); 8 | } 9 | 10 | // keep this function call here 11 | FirstReverse(readline()); 12 | -------------------------------------------------------------------------------- /Easy/SimpleAdding.js: -------------------------------------------------------------------------------- 1 | /* 2 | QUESTION: 3 | Have the function SimpleAdding(num) add up all the numbers from 1 to num. For example: if the input is 4 then your program should return 10 because 1 + 2 + 3 + 4 = 10. For the test cases, the parameter num will be any number from 1 to 1000. 4 | */ 5 | 6 | function SimpleAdding(num) { 7 | return parseInt(num*(num+1)/2); //in case of floating point 8 | } 9 | 10 | // keep this function call here 11 | SimpleAdding(readline()); 12 | -------------------------------------------------------------------------------- /Easy/SimpleAdding.c: -------------------------------------------------------------------------------- 1 | /* 2 | QUESTION: 3 | Have the function SimpleAdding(num) add up all the numbers from 1 to num. For example: if the input is 4 then your program should return 10 because 1 + 2 + 3 + 4 = 10. For the test cases, the parameter num will be any number from 1 to 1000. 4 | */ 5 | #include 6 | 7 | void SimpleAdding(int num) { 8 | printf("%d", num*(num+1)/2); 9 | } 10 | 11 | int main(void) { 12 | SimpleAdding(gets(stdin)); 13 | return 0; 14 | } 15 | -------------------------------------------------------------------------------- /Easy/TimeConvert.c: -------------------------------------------------------------------------------- 1 | /* 2 | QUESTION: 3 | Have the function TimeConvert(num) take the num parameter being passed and return the number of hours and minutes the parameter converts to (ie. if num = 63 then the output should be 1:3). Separate the number of hours and minutes with a colon. 4 | */ 5 | #include 6 | 7 | void TimeConvert(int num){ 8 | printf("%d:%d",num/60,num%60); 9 | } 10 | 11 | int main(void) { 12 | TimeConvert(gets(stdin)); 13 | return 0; 14 | } 15 | -------------------------------------------------------------------------------- /Easy/CheckNums.c: -------------------------------------------------------------------------------- 1 | /* 2 | QUESTION: 3 | Have the function CheckNums(num1,num2) take both parameters being passed and return the string true if num2 is greater than num1, otherwise return the string false. If the parameter values are equal to each other then return the string -1. 4 | */ 5 | #include 6 | 7 | void CheckNums(num1,num2) { 8 | printf("%s", (num1 == num2)?"-1":((num2>num1)?"true":"false") ); 9 | } 10 | 11 | int main(void) { 12 | CheckNums(gets(stdin)); 13 | return 0; 14 | } 15 | -------------------------------------------------------------------------------- /Easy/LetterCapitalize.js: -------------------------------------------------------------------------------- 1 | /* 2 | QUESITON: 3 | Have the function LetterCapitalize(str) take the str parameter being passed and capitalize the first letter of each word. Words will be separated by only one space. 4 | */ 5 | 6 | function LetterCapitalize(str) { 7 | var s = str.split(" "); 8 | for(var i=0;i 7 | 8 | int FirstFactorial(int n) { 9 | if(n<=2) return n; 10 | return n*FirstFactorial(n-1); 11 | } 12 | 13 | int main(void) { 14 | int f = FirstFactorial(gets(stdin)); 15 | printf("%d",f); 16 | return 0; 17 | } 18 | -------------------------------------------------------------------------------- /Easy/FirstReverse.c: -------------------------------------------------------------------------------- 1 | /* 2 | QUESTION: 3 | Have the function FirstReverse(str) take the str parameter being passed and return the string in reversed order. For example: if the input string is "Hello World and Coders" then your program should return the string "sredoC dna dlroW olleH". 4 | */ 5 | 6 | #include 7 | #include 8 | 9 | void FirstReverse(char * str) { 10 | int N = strlen(str); 11 | for(int i=0;i 6 | 7 | int PentagonalNumber(int n) { 8 | //Basically: f(n) = 1+5*(1+2+...+n-1) = 1+5*(n+1-1)(n-1)/2 (based on Gauss summation) 9 | return 1+5*(n*(n-1)/2); 10 | } 11 | 12 | int main(void){ 13 | printf("%d", PentagonalNumber(gets(stdin))); 14 | } 15 | -------------------------------------------------------------------------------- /Easy/LongestWord.js: -------------------------------------------------------------------------------- 1 | /* QUESTION: 2 | Have the function LongestWord(sen) take the sen parameter being passed and return the largest word in the string. If there are two or more words that are the same length, return the first word from the string with that length. Ignore punctuation and assume sen will not be empty. 3 | */ 4 | 5 | function LongestWord(sen) { 6 | var words = sen.replace(/[^a-zA-Z0-9 ]/gi,"").split(" "); 7 | 8 | var maxi = { 9 | "word":null, 10 | "length":0 11 | } 12 | for(var i=0;imaxi.length){ 14 | maxi.word = words[i]; 15 | maxi.length = words[i].length; 16 | } 17 | } 18 | // code goes here 19 | return maxi.word; 20 | } 21 | 22 | // keep this function call here 23 | LongestWord(readline()); 24 | -------------------------------------------------------------------------------- /Easy/AlphabetSoup.c: -------------------------------------------------------------------------------- 1 | /* 2 | QUESTION: 3 | Have the function AlphabetSoup(str) take the str string parameter being passed and return the string with the letters in alphabetical order (ie. hello becomes ehllo). Assume numbers and punctuation symbols will not be included in the string. 4 | */ 5 | #include 6 | #include 7 | 8 | void AlphabetSoup(char * str){ 9 | int N = strlen(str); 10 | int i, j, count[26]; //for all 26 letters in the alphabet 11 | for(i=0;i<=26;i++) count[i] = 0; //set all counts to 0 first 12 | 13 | for(i=0;i=0 && c<26){ 16 | count[c]++; 17 | } 18 | } 19 | 20 | for(i=0;i<26;i++) 21 | for(j=0;j 7 | #include 8 | 9 | char toUpper(char c){ 10 | int n = c-'a'; 11 | char * upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 12 | if(n>=0 && n<=26){ //lower case alpha letter 13 | //printf("%c",upper[n]); 14 | return upper[n]; 15 | } 16 | return c; 17 | } 18 | 19 | void LetterCapitalize(char * str){ 20 | short prevWasSpace = 1; 21 | int i; 22 | char c; 23 | 24 | for(i=0;i 5 | #include 6 | 7 | /* 8 | Take note that for some reason, C does NOT have boolean types. 9 | So we use unsigned char (with 0 and 1) instead. 10 | Unsigned char only has one byte. 11 | */ 12 | unsigned char isLetter(char c){ 13 | //Lower case letter 14 | int n = c-'a'; 15 | if(n>=0 && n<=26) return 1; 16 | 17 | //Upper case letter 18 | n = c-'A'; 19 | if(n>=0 && n<=26) return 1; 20 | 21 | return 0; 22 | } 23 | 24 | void SimpleSymbols(char * str){ 25 | int i, n = strlen(str); 26 | char c; 27 | 28 | for(i=0;i 7 | #include 8 | 9 | /* 10 | Take note that for some reason, C does NOT have boolean types. 11 | So we use unsigned char (with 0 and 1) instead. 12 | Unsigned char only has one byte. 13 | */ 14 | 15 | /* Shift letters by 1 */ 16 | char shift_letter(char c){ 17 | //Lower case letter 18 | if(c>='a' && c<='y') return c+1; 19 | if(c=='z') return 'a'; //'z' 20 | 21 | //Upper case letter 22 | if(c>='a' && c<='y') return c+1; 23 | if(c=='Z') return 'A'; 24 | 25 | //Neither 26 | return c; 27 | } 28 | 29 | /* Check if vowel, and captialize if so */ 30 | char capitaliseVowel(char c){ 31 | switch(c){ 32 | case 'a': return 'A'; 33 | case 'e': return 'E'; 34 | case 'i': return 'I'; 35 | case 'o': return 'O'; 36 | case 'u': return 'U'; 37 | 38 | default: return c; 39 | } 40 | } 41 | 42 | void LetterChanges(char * str) { 43 | int i; 44 | 45 | for(i=0;i 5 | #include 6 | 7 | /* 8 | Take note that for some reason, C does NOT have boolean types. 9 | So we use unsigned char (with 0 and 1) instead. 10 | Unsigned char only has one byte. 11 | */ 12 | unsigned char isLetter(char c){ 13 | //Lower case letter 14 | int n = c-'a'; 15 | if(n>=0 && n<=26) return 1; 16 | 17 | //Upper case letter 18 | n = c-'A'; 19 | if(n>=0 && n<=26) return 1; 20 | 21 | //Number 22 | n = c-'0'; 23 | if(n>=0 && n<=9) return 1; 24 | 25 | return 0; 26 | } 27 | 28 | void LongestWord(char * sen){ 29 | int startIndex = 0, maxStartIndex = 0; 30 | int currLength = 0, maxLength = 0; 31 | int i, len = strlen(sen); 32 | 33 | for(i=0;i maxLength){ 41 | maxLength = currLength; 42 | maxStartIndex = startIndex; 43 | } 44 | currLength = 0; 45 | } 46 | } 47 | 48 | for(i=maxStartIndex;i 8 | #include 9 | 10 | /* 11 | Take note that for some reason, C does NOT have boolean types. 12 | So we use unsigned char (with 0 and 1) instead. 13 | unsigned char only has one byte. 14 | */ 15 | unsigned char isNumber(char c){ 16 | return (c-'0'>=0 && c-'0'<10)?1:0; 17 | } 18 | 19 | void QuestionMarks(char* str){ 20 | int prevNum = -1, i; 21 | int nQuestionMarks = 0; 22 | unsigned char has10 = 0; 23 | 24 | for(i=0;i 21 | #include 22 | 23 | unsigned char isVowel(c){ 24 | switch(c){ 25 | case 'a': case 'A': 26 | case 'e': case 'E': 27 | case 'i': case 'I': 28 | case 'o': case 'O': 29 | case 'u': case 'U': 30 | return 1; 31 | default: 32 | return 0; 33 | } 34 | } 35 | 36 | void VowelSquare(char * strArr[], int len) { 37 | int len2 = strlen(strArr[0]); 38 | char arr[len][len2]; 39 | int i,j; 40 | 41 | for(i=0;i{ 50 | return testcases[i]; 51 | } 52 | for(i=0;i 12 | #include 13 | 14 | #define INT_LEN(n) (n<10)?1:(n<100)?2:(n<1000)?3:4 15 | #define POW_TEN(n) (n==3)?1000:(n==2)?100:(n==1)?10:1 16 | //#define ABS(n) (n>0)?n:-n 17 | 18 | int cmpfunc (const void * a, const void * b) { 19 | return ( *(int*)a - *(int*)b ); 20 | } 21 | 22 | int KaprekarsConstant(int num) { 23 | if(num == 6174) return 0; //reached the constant 24 | if(num == 0 || num == 1111 || num == 2222 || num == 3333 || num == 4444 || num == 5555 || num == 6666 || num == 7777 || num == 8888 || num == 9999) return 0; //special case 25 | 26 | int numArr[4] = {0}; 27 | int i; 28 | 29 | int l = INT_LEN(num); 30 | 31 | for(i=0;i{ 66 | return "r?d?drdd"; 67 | } 68 | 69 | CorrectPath(readline()); 70 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # MAC OS GIT IGNORE 2 | # General 3 | .DS_Store 4 | .AppleDouble 5 | .LSOverride 6 | 7 | # Icon must end with two \r 8 | Icon 9 | 10 | # Thumbnails 11 | ._* 12 | 13 | # Files that might appear in the root of a volume 14 | .DocumentRevisions-V100 15 | .fseventsd 16 | .Spotlight-V100 17 | .TemporaryItems 18 | .Trashes 19 | .VolumeIcon.icns 20 | .com.apple.timemachine.donotpresent 21 | 22 | # Directories potentially created on remote AFP share 23 | .AppleDB 24 | .AppleDesktop 25 | Network Trash Folder 26 | Temporary Items 27 | .apdisk 28 | 29 | # PYTHON GIT IGNORE 30 | 31 | # Byte-compiled / optimized / DLL files 32 | __pycache__/ 33 | *.py[cod] 34 | *$py.class 35 | 36 | # C extensions 37 | *.so 38 | 39 | # Distribution / packaging 40 | .Python 41 | build/ 42 | develop-eggs/ 43 | dist/ 44 | downloads/ 45 | eggs/ 46 | .eggs/ 47 | lib/ 48 | lib64/ 49 | parts/ 50 | sdist/ 51 | var/ 52 | wheels/ 53 | pip-wheel-metadata/ 54 | share/python-wheels/ 55 | *.egg-info/ 56 | .installed.cfg 57 | *.egg 58 | MANIFEST 59 | 60 | # PyInstaller 61 | # Usually these files are written by a python script from a template 62 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 63 | *.manifest 64 | *.spec 65 | 66 | # Installer logs 67 | pip-log.txt 68 | pip-delete-this-directory.txt 69 | 70 | # Unit test / coverage reports 71 | htmlcov/ 72 | .tox/ 73 | .nox/ 74 | .coverage 75 | .coverage.* 76 | .cache 77 | nosetests.xml 78 | coverage.xml 79 | *.cover 80 | .hypothesis/ 81 | .pytest_cache/ 82 | 83 | # Translations 84 | *.mo 85 | *.pot 86 | 87 | # Django stuff: 88 | *.log 89 | local_settings.py 90 | db.sqlite3 91 | 92 | # Flask stuff: 93 | instance/ 94 | .webassets-cache 95 | 96 | # Scrapy stuff: 97 | .scrapy 98 | 99 | # Sphinx documentation 100 | docs/_build/ 101 | 102 | # PyBuilder 103 | target/ 104 | 105 | # Jupyter Notebook 106 | .ipynb_checkpoints 107 | 108 | # IPython 109 | profile_default/ 110 | ipython_config.py 111 | 112 | # pyenv 113 | .python-version 114 | 115 | # celery beat schedule file 116 | celerybeat-schedule 117 | 118 | # SageMath parsed files 119 | *.sage.py 120 | 121 | # Environments 122 | .env 123 | .venv 124 | env/ 125 | venv/ 126 | ENV/ 127 | env.bak/ 128 | venv.bak/ 129 | 130 | # Spyder project settings 131 | .spyderproject 132 | .spyproject 133 | 134 | # Rope project settings 135 | .ropeproject 136 | 137 | # mkdocs documentation 138 | /site 139 | 140 | # mypy 141 | .mypy_cache/ 142 | .dmypy.json 143 | dmypy.json 144 | 145 | # Pyre type checker 146 | .pyre/ 147 | 148 | #C++ Gitignore 149 | # Prerequisites 150 | *.d 151 | 152 | # Compiled Object files 153 | *.slo 154 | *.lo 155 | *.o 156 | *.obj 157 | 158 | # Precompiled Headers 159 | *.gch 160 | *.pch 161 | 162 | # Compiled Dynamic libraries 163 | *.so 164 | *.dylib 165 | *.dll 166 | 167 | # Fortran module files 168 | *.mod 169 | *.smod 170 | 171 | # Compiled Static libraries 172 | *.lai 173 | *.la 174 | *.a 175 | *.lib 176 | 177 | # Executables 178 | *.exe 179 | *.out 180 | *.app 181 | -------------------------------------------------------------------------------- /Hard/MaximalSquare.js: -------------------------------------------------------------------------------- 1 | /* QUESTION: 2 | Have the function MaximalSquare(strArr) take the strArr parameter being passed which will be a 2D matrix of 0 and 1's, and determine the area of the largest square submatrix that contains all 1's. A square submatrix is one of equal width and height, and your program should return the area of the largest submatrix that contains only 1's. For example: if strArr is ["10100", "10111", "11111", "10010"] then this looks like the following matrix: 3 | 4 | 1 0 1 0 0 5 | 1 0 1 1 1 6 | 1 1 1 1 1 7 | 1 0 0 1 0 8 | 9 | For the input above, you can see the bolded 1's create the largest square submatrix of size 2x2, so your program should return the area which is 4. You can assume the input will not be empty. 10 | */ 11 | 12 | //Modified 2D Maximal Square algo (dynamic programming) 13 | //Skips if the max square sum is not k*k 14 | 15 | function MaximalSquare(strArr) { 16 | var arr = []; 17 | 18 | var i,j; 19 | //Make string array a 2D array. 20 | for(i=0;i0) arr[i][j] += arr[i-1][j]; 33 | if(j>0) arr[i][j] += arr[i][j-1]; 34 | if(i>0 && j>0) arr[i][j] -= arr[i-1][j-1]; //avoid double counting 35 | } 36 | } 37 | 38 | if(!anyOnes) return 0; 39 | 40 | mx = 1; 41 | sm = 0; 42 | 43 | //Pass over again, with matrix k - O(n^2*k) 44 | for(i=0;i=arr.length || end_j>=arr[i].length) break; 50 | 51 | /* Sum from DP summation array/table */ 52 | sm = arr[end_i][end_j]; //sum from (0,0) to (end_i, end_j) - O(1) 53 | if(i>0) sm -= arr[i-1][end_j]; //exclude subrect (0,0) to (i-1,end_j) - O(1) 54 | if(j>0) sm -= arr[end_i][j-1]; //exclude subrect (0,0) to (end_i,j-1) - O(1) 55 | if(i>0 && j>0) sm += arr[i-1][j-1]; //include back the double counted excluded (0,0) to (i-1,j-1) subrect - O(1) 56 | //The sum is finally here: sum from (i,j) to (end_i,end_j) - total O(4) 57 | 58 | if(sm!=(k+1)*(k+1)) continue; 59 | 60 | if(sm>mx){ 61 | mx = sm; 62 | } 63 | } 64 | } 65 | 66 | // Return mx. Total O(2*n^2*k*4) = O(8*n^2*k) 67 | return mx; 68 | } 69 | 70 | //For testing purposes 71 | /* 72 | readline = ()=>{ 73 | return ["0111", "1111", "1111", "1111"]; 74 | } 75 | //*/ 76 | 77 | // keep this function call here 78 | MaximalSquare(readline()); 79 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # CoderByte Solutions 2 | 3 | Repository of [CoderByte](https://www.coderbyte.com/) solutions for the free challenges. 4 | 5 | 6 | Completed in different programming languages (mainly JS and C). 7 | 8 | 9 | ## Easy 10 | Longest Word [![JavaScript](https://img.shields.io/badge/JavaScript-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Longest%20Word:JavaScript) [![C](https://img.shields.io/badge/C-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Longest%20Word:C) 11 | 12 | 13 | First Factorial [![JavaScript](https://img.shields.io/badge/JavaScript-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:First%20Factorial:JavaScript) [![C](https://img.shields.io/badge/C-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:First%20Factorial:C) 14 | 15 | First Reverse [![JavaScript](https://img.shields.io/badge/JavaScript-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:First%20Reverse:JavaScript) [![C](https://img.shields.io/badge/C-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:First%20Reverse:C) 16 | 17 | Letter Changes [![JavaScript](https://img.shields.io/badge/JavaScript-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Letter%20Changes:JavaScript) [![C](https://img.shields.io/badge/C-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Letter%20Changes:C) 18 | 19 | Simple Adding [![JavaScript](https://img.shields.io/badge/JavaScript-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Simple%20Adding:JavaScript) [![C](https://img.shields.io/badge/C-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Simple%20Adding:C) 20 | 21 | Letter Capitalize [![JavaScript](https://img.shields.io/badge/JavaScript-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Letter%20Capitalize:JavaScript) [![C](https://img.shields.io/badge/C-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Letter%20Capitalize:C) 22 | 23 | Letter Changes [![JavaScript](https://img.shields.io/badge/JavaScript-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Letter%20Changes:JavaScript) 24 | 25 | Simple Symbols [![JavaScript](https://img.shields.io/badge/JavaScript-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Simple%20Symbols:JavaScript) [![C](https://img.shields.io/badge/C-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Simple%20Symbols:C) 26 | 27 | Check Nums [![JavaScript](https://img.shields.io/badge/JavaScript-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Check%20Nums:JavaScript) [![C](https://img.shields.io/badge/C-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Check%20Nums:C) 28 | 29 | Time Convert [![JavaScript](https://img.shields.io/badge/JavaScript-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Time%20Convert:JavaScript) [![C](https://img.shields.io/badge/C-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Time%20Convert:C) 30 | 31 | Alphabet Soup [![JavaScript](https://img.shields.io/badge/JavaScript-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Alphabet%20Soup:JavaScript) [![C](https://img.shields.io/badge/C-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Alphabet%20Soup:C) 32 | 33 | Question Marks [![JavaScript](https://img.shields.io/badge/JavaScript-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Question%20Marks:JavaScript) [![C](https://img.shields.io/badge/C-solved-green.svg)](https://www.coderbyte.com/results/Samleo:Question%20Marks:C) 34 | 35 | Vowel Square [![JavaScript](https://img.shields.io/badge/JavaScript-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Vowel%20Square:JavaScript) [![C](https://img.shields.io/badge/C-solved-green.svg)](https://www.coderbyte.com/results/Samleo:Vowel%20Square:C) 36 | 37 | Correct Path 38 | 39 | 40 | ## Hard 41 | Maximal Square [![JavaScript](https://img.shields.io/badge/JavaScript-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Maximal%20Square:JavaScript) 42 | 43 | Pentagonal Number [![JavaScript](https://img.shields.io/badge/JavaScript-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Pentagonal%20Number:JavaScript) [![C](https://img.shields.io/badge/C-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Pentagonal%20Number:C) [![Python](https://img.shields.io/badge/Python-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Pentagonal%20Number:Python) 44 | 45 | Kaprekars Constant [![JavaScript](https://img.shields.io/badge/JavaScript-solved-brightgreen.svg)](https://www.coderbyte.com/results/Samleo:Kaprekars%20Constant:JavaScript) 46 | --------------------------------------------------------------------------------