diff --git "a/TeamD/\352\271\200\354\234\240\353\271\210_Contains Duplicate.ts" "b/TeamD/\352\271\200\354\234\240\353\271\210_Contains Duplicate.ts" new file mode 100644 index 0000000..f16ed50 --- /dev/null +++ "b/TeamD/\352\271\200\354\234\240\353\271\210_Contains Duplicate.ts" @@ -0,0 +1,17 @@ +function containsDuplicate(nums: number[]): boolean { + if (nums.length === 0) { + return false; // 빈 배열인 경우 중복이 없으므로 false 반환 + } + + // Set을 사용하여 중복 요소를 추적 + const duplicateNums = new Set(); + for (const num of nums) { + // Set에 이미 존재하는 요소인지 확인 + if (duplicateNums.has(num)) { + return true; // 중복된 요소가 발견되면 true 반환 + } + duplicateNums.add(num); // Set에 현재 요소를 추가 + } + + return false; +} diff --git "a/TeamD/\352\271\200\354\234\240\353\271\210_Remove Duplicates from Sorted Array.ts" "b/TeamD/\352\271\200\354\234\240\353\271\210_Remove Duplicates from Sorted Array.ts" new file mode 100644 index 0000000..11f53e5 --- /dev/null +++ "b/TeamD/\352\271\200\354\234\240\353\271\210_Remove Duplicates from Sorted Array.ts" @@ -0,0 +1,17 @@ +function removeDuplicates(nums: number[]): number { + // 배열이 비어있는 경우 0을 반환 + if (nums.length === 0) { + return 0; + } + + for (let i = 0; i < nums.length; i++) { + // 0번째 index부터 시작해서 다음 요소와 비교 + if (nums[i] === nums[i + 1]) { + // splice를 사용하여 중복 요소를 제거 + nums.splice(i, 1); + i--; // 중복 요소를 제거했으므로 인덱스를 하나 줄여서 다음 요소를 비교 + } + } + + return nums.length; +} diff --git "a/TeamD/\352\271\200\354\234\240\353\271\210_Rotate Array.ts" "b/TeamD/\352\271\200\354\234\240\353\271\210_Rotate Array.ts" new file mode 100644 index 0000000..aa7b475 --- /dev/null +++ "b/TeamD/\352\271\200\354\234\240\353\271\210_Rotate Array.ts" @@ -0,0 +1,20 @@ +/** + Do not return anything, modify nums in-place instead. + */ +function rotate(nums: number[], k: number): void { + if (nums.length === 0 || k <= 0) { + return; // 배열이 비어있거나 k가 0 이하인 경우 아무 작업도 하지 않음 + } + + for (let i = 0; i < k; i++) { + // ex) k가 3이라면 3번 반복 + // 배열의 마지막 요소를 제거하고, 그 요소를 배열의 맨 앞에 삽입 + // ex) [1, 2, 3, 4, 5] // 3번 반복 + // 1. [1, 2, 3, 4] -> 5 + // 2. [5, 1, 2, 3] -> 4 + // 3. [4, 5, 1, 2] -> 3 + // 4. [3, 4, 5, 1, 2] + // 마지막 요소를 배열의 맨 앞에 삽입 + nums.unshift(nums.pop()!); + } +}