基本課題 ``` 整数の配列が与えられます。配列から2つの異なる要素の和を取り、指定された数を作れるかどうかを教えてください。 You are given an array of integers and a number. Please return true if there is any pair of integers that sums to the number Examples: [1, 2, 3], 3 => True (1 + 2 = 3) [1, 1, 1], 2 => True (1 + 1 = 2) [1, 1, 1], 3 => False [1], 2 => False [1, 1], 2 => True [1, 3], 2 => False ``` ```javascript= /** * @param numbers Array<number> 配列 * @param target number 目標の数字 */ function sumExists(numbers, target) { let items = {} for (let i = 0; i < numbers.length; i++) { items[numbers[i]] = i; } console.log(items) for (let i = 0; i < numbers.length; i++) { if (!!items[target - numbers[i]] && items[target - numbers[i]] != i ) { console.log(items[target - numbers[i]]) return true; } } return false; } function sumExists(numbers, target) { let items = {}; for (let i = 0; i < numbers.length; i++) { if (items[target - numbers[i]]) return true; items[numbers[i]] = true; } return false; } ``` 応用課題 Extension Problem ``` 整数の配列が与えられます。配列から任意の数の要素の和を取り、指定された数を作れるかどうかを教えてください You are given an array of integers (numbers) and an integer (target) Please return true if there is any combination of elements in numbers that sums to target. 例: [1, 1, 1], 1 => True (1 = 1) [1, 1, 1], 2 => True (1 + 1 = 2) [1, 1, 1], 3 => True (1 + 1 + 1 = 3) [1, 1, 1], 4 => False ``` ```ruby ```