'코딩 테스트 연습/LeetCode' 카테고리의 글 목록
본문 바로가기

코딩 테스트 연습/LeetCode4

[LeetCode] Valid Parentheses 문제 설명 주어진 문자열 s가 '(', ')', '{', '}', '[', ']' 문자들만 포함하고 있을 때, 이 문자열이 유효한지 판별하는 문제입니다.  유효한 문자열의 조건은 다음과 같습니다:열린 괄호는 동일한 종류의 닫힌 괄호에 의해 닫혀야 합니다.괄호는 올바른 순서로 닫혀야 합니다.각 닫힌 괄호는 해당하는 종류의 열린 괄호가 있어야 합니다.예를 들어, 문자열 "()"은 유효하며, "{}[]" 역시 유효합니다. 하지만 "{[}]"는 유효하지 않습니다.이를 위해 스택(Stack) 자료구조를 사용하여 간단히 구현할 수 있습니다. 스택을 사용하면 괄호의 열림과 닫힘을 쉽게 추적하고 유효성을 검사할 수 있습니다.입출력 예입출력 예 #1입력 : s = "()"출력 : true 입출력 예 #2입력 : s = .. 2024. 7. 2.
[LeetCode] Design Browser History 문제 설명 한 개의 탭을 가진 브라우저를 가지고 있습니다. 이 브라우저는 시작 시 홈페이지에서 시작하여 다른 URL을 방문할 수 있으며, 뒤로 이동하거나 앞으로 이동할 수 있습니다. 이를 구현하는 BrowserHistory 클래스를 만들어 보겠습니다:BrowserHistory(string homepage): 브라우저 객체를 홈페이지로 초기화합니다.void visit(string url): 현재 페이지에서 해당 URL을 방문합니다. 이 과정에서 앞으로의 이력을 모두 지웁니다.string back(int steps): 최대 steps만큼 이전 기록으로 이동합니다. 실제 이동 가능한 만큼만 이동하며, 이동 후의 현재 URL을 반환합니다.string forward(int steps): 최대 steps만큼 앞으로.. 2024. 6. 25.
[LeetCode] Single Number 문제 설명 정수 배열 nums가 주어지면 모든 요소는 하나를 제외하고 두 번 나타납니다. 그 하나를 찾아보세요. 선형적인 런타임 복잡성을 갖는 솔루션을 구현해야 하며 일정한 추가 공간만 사용해야 합니다.제한사항입출력 예입출력 예 #1입력 : nums = [2, 2, 1]출력 : 1 입출력 예 #2입력 : nums = [4, 1, 2, 1, 2]출력 : 4 입출력 예 #3입력 : nums = [1]출력 : 1문제풀이/** * @param {number[]} nums * @return {number} */var singleNumber = function (nums) { let result = []; nums.forEach((num) => { if (!result.includes(num.. 2024. 6. 20.
[LeetCode] Two Sum 문제 설명정수 배열 nums와 정수 target이 주어지면 두 숫자의 합이 target이 되는 index를 찾아 반환합니다.제한사항입출력 예입출력 예 #1입력 : nums = [2, 7, 11, 15], target = 9출력 : [0, 1]설명 : nums[0] + nums[1] == 9이므로 [0, 1]을 반환합니다. 입출력 예 #2입력 : nums = [3, 2, 4], target = 6출력 : [1, 2] 입출력 예 #3입력 : nums = [3, 3], target = 6출력 : [0, 1]문제풀이/** * @param {number[]} nums * @param {number} target * @return {number[]} */var twoSum = function(nums, target.. 2024. 6. 18.
728x90