자료구조&알고리즘/알고리즘

[LeetCode][JS] 1번 Two Sum

문제 유형 배열, 해쉬 테이블 문제 Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would have exactly one solution, and you may not use the same element twice. You can return the answer in any order. 배열의 숫자 값을 2개 더했을 때 target값과 같다면 각 인덱스를 아무 순서에 따라 배열로 반환해라. 반드시 해답은 1개 있으며 배열의 숫자를 반복해서 사용하며 안된다. 예시 Input: n..

자료구조&알고리즘/알고리즘

[LeetCode][JS] 136번 Single Number

문제 유형 배열, 비트 연산 문제 Given a non-empty array of integers nums, every element appears twice except for one. Find that single one. You must implement a solution with a linear runtime complexity and use only constant extra space. 비어있지 않은 숫자를 담은 배열이 주어진다. 배열에서 2번 나타나지않은 요소를 찾아라. 반드시 선형 시간 복잡도로 풀어야 하며 O(N)가 아닌 O(1) 시간으로 풀어라 constant extra space - 사용하는 메모리 영역의 constant 제약이 있음 - 즉, 입력값에 따라 변하는 variable 이..

자료구조&알고리즘/알고리즘

[LeetCode][JS] 49번 Group Anagrams

⚡문제 유형 배열,정렬, 해쉬 테이블, 문자열 📝문제 Given an array of strings strs, group the anagrams together. You can return the answer in any order. An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once. 그룹 아나그램 배열을 완성해라. 순서는 상관이 없다. 아나그램은 문자로 만들 수 있는 무작위 조합을 말한다. 📘예시 Input: strs = ["eat","tea","tan","ate","nat","bat"]..

자료구조&알고리즘/알고리즘

[LeetCode][JS] 1630번 Arithmetic Subarrays

⚡문제 유형 배열,정렬 📝문제 s[i+1] - s[i] == s[1] - s[0] 처럼 각 배열의 요소를 정렬했을 때 차이는 일정합니다. l과 r이 주어졌을 때 [l[i], r[i]]를 범위로 보고 범위에 해당하는 배열 요소가 차이가 일정한지 여부를 배열로 반환하시오. 📘예시 Input: nums = [4,6,5,9,3,7], l = [0,0,2], r = [2,3,5] Output: [true,false,true] Explanation: In the 0th query, the subarray is [4,6,5]. This can be rearranged as [6,5,4], which is an arithmetic sequence. In the 1st query, the subarray is [4,6,..

자료구조&알고리즘/알고리즘

[LeetCode][JS] 150번 Evaluate Reverse Polish Notation

문제 유형 수학, 배열, 스택 문제 들어오는 배열은 후위표기식 순서이다. (Reverse Polish Notation) . 유효한 연산자는 +, -, *및 /입니다. 각 피연산자는 정수 또는 다른 표현식일 수 있습니다. 두 정수 간의 나누기는 0으로 잘려야 합니다 .후위 표기식을 계산하시오. 예시 Input: tokens = ["2","1","+","3","*"] Output: 9 Explanation: ((2 + 1) * 3) = 9 Input: tokens = ["4","13","5","/","+"] Output: 6 Explanation: (4 + (13 / 5)) = 6 Input: tokens = ["10","6","9","3","+","-11","*","/","*","17","+","5","+..

자료구조&알고리즘/알고리즘

[LeetCode][JS] 66번 Plus One

⚡문제 유형 수학,정렬 📝문제 각 자리의 수를 담은 정수 배열이 들어옵니다. 숫자는 왼쪽에서 오른쪽 순서로 최상위에서 최하위 순으로 정렬됩니다. 숫자에 1을 더한 값을 다시 배열로 반환하시오. 📘예시 Input: digits = [1,2,3] Output: [1,2,4] Explanation: The array represents the integer 123. Incrementing by one gives 123 + 1 = 124. Thus, the result should be [1,2,4]. Input: digits = [4,3,2,1] Output: [4,3,2,2] Explanation: The array represents the integer 4321. Incrementing by one gi..

자료구조&알고리즘/알고리즘

[LeetCode][JS] 976번 Largest Perimeter Triangle

⚡문제 유형 배열, 수학, 그리디, 정렬 📝문제 정수 배열이 주어지면 0이 아닌 면적을 가진 삼각형의 가장 큰 둘레를 nums 반환해라. 만들어지지 않으면 0을 반환. 📘예시 Input: nums = [2,1,2] Output: 5 Input: nums = [1,2,1] Output: 0 📗풀이 "삼각형의 가장 긴 변의 길이는 나머지 두 변의 길이의 합보다 항상 작다" 라는 삼각형의 성질을 이용해 풀면 된다. 1. 내림차순 정렬을 한다. 2. 가장 긴 변 b -a); for(let i = 0; i < nums.length - 2; i++){ i..

자료구조&알고리즘/알고리즘

[leetCode][JS] 1822번 Sign of the Product of an Array

⚡문제 유형 배열, 수학 📝문제 입력값인 배열의 요소를 다 곱했을 때 음수면 -1, 0이면 0, 양수면 1을 반환해라 📘예시 Input: nums = [-1,-2,-3,-4,3,2,1] Output: 1 Explanation: The product of all values in the array is 144, and signFunc(144) = 1 Input: nums = [1,5,0,2,-3] Output: 0 Explanation: The product of all values in the array is 0, and signFunc(0) = 0 Input: nums = [-1,1,-1,1,-1] Output: -1 Explanation: The product of all values in the a..

자료구조&알고리즘/알고리즘

[LeetCode][JS] 1779번 Find Nearest Point That Has the Same X or Y Coordinate

⚡문제 유형 배열 📝문제 입력값으로 현재 좌표 위치인 X, Y와 좌표에 찍힌 점의 정보인 points가 온다. 사용자 위치와 동일한 x 좌표 또는 동일한 y 좌표를 공유하는 경우 유효한 point이다. 현재 위치에서 맨해튼 거리 가 가장 작은 유효한 지점 의 points를 반환하는 문제이다. 정답이 여러개면 인덱스 번호가 가장 작은 것을 반환하고 유효한 포인트가 없으면 -1를 반환한다. 두 점 사이의 맨해튼 거리는 (x1, y1)(x2, y2)abs(x1 - x2) + abs(y1 - y2)이다. 📘예시 Input: x = 3, y = 4, points = [[1,2],[3,1],[2,4],[2,3],[4,4]] Output: 2 Explanation: Of all the points, only [3,1..

자료구조&알고리즘/알고리즘

[LeetCode][JS] 1281번 Subtract the Product and Sum of Digits of an Integer

⚡문제 유형 단순구현(수학) 📝문제 입력값의 각 자리 곱과 합을 구해라 📘예시 Input: n = 234 Output: 15 Explanation: Product of digits = 2 * 3 * 4 = 24 Sum of digits = 2 + 3 + 4 = 9 Result = 24 - 9 = 15 Input: n = 4421 Output: 21 Explanation: Product of digits = 4 * 4 * 2 * 1 = 32 Sum of digits = 4 + 4 + 2 + 1 = 11 Result = 32 - 11 = 21 📗풀이 1. 문자열로 바꾸기(toString) 2. 각 자리 쪼개기(split) 3. 숫자로 바꿔주기(map) 4. 합과 곱 구해주기 (reduce) 📕코드 var s..

놀이터주인장
'leetcode' 태그의 글 목록