diff --git a/lesson_06/benjaminscott/README.md b/lesson_06/benjaminscott/README.md new file mode 100644 index 000000000..c12b4f1ce --- /dev/null +++ b/lesson_06/benjaminscott/README.md @@ -0,0 +1,33 @@ +# Stretch Assignment + +``` +function isValidAlphaAbbreviation(word: string, abbr: string): boolean { + const letterToNum = { "a": 1, "b": 2, "c": 3, "d": 4, "e": 5, "f": 6, "g": 7, "h": 8, "i": 9, "j": 10, "k": 11, "l": 12, "m": 13, "n": 14, "o": 15, "p": 16, "q": 17, "r": 18, "s": 19, "t": 20, "u": 21, "v": 22, "w": 23, "x": 24, "y": 25, "z": 26 }; + let wordIndex = 0; + let abbrIndex = 0; + + while (abbrIndex < abbr.length && wordIndex < word.length) { + if (abbr[abbrIndex] === word[wordIndex]) { + wordIndex++; + + } else { + const currentAbbrChar = abbr[abbrIndex]; + + if (currentAbbrChar < 'a' || currentAbbrChar > 'z') { + return false; + } + + const targetNumber = letterToNum[currentAbbrChar]; + + wordIndex += targetNumber; + } + + abbrIndex++; + } + + if (abbrIndex === abbr.length && wordIndex === word.length) { + return true; + } + return false; +} +``` diff --git a/lesson_06/expression/.env.test b/lesson_06/expression/.env.test index 56cf4a06f..8532774b0 100644 --- a/lesson_06/expression/.env.test +++ b/lesson_06/expression/.env.test @@ -1 +1 @@ -HW_VERSION=your assigned version here \ No newline at end of file +HW_VERSION=A \ No newline at end of file diff --git a/lesson_06/expression/src/expression_calculator.ts b/lesson_06/expression/src/expression_calculator.ts index 76b215c42..7241f8104 100644 --- a/lesson_06/expression/src/expression_calculator.ts +++ b/lesson_06/expression/src/expression_calculator.ts @@ -2,10 +2,26 @@ export class ExpressionCalculator { /** Returns a calculation involving a, b, c, d, and e */ calculate(a: number, b: number, c: number, d: number, e: number): number { // Implement your code here to return the correct value. - return 0; + return this.divide(this.multiply(this.add(a, b), c), this.pow(d, e)); } pow(base: number, exponent: number): number { return Math.pow(base, exponent); } + + add(a: number, b: number): number { + return a + b; + } + + subtract(a: number, b: number): number { + return a - b; + } + + multiply(a: number, b: number): number { + return a * b; + } + + divide(a: number, b: number): number { + return a / b; + } }