목록분류 전체보기 (529)
안녕하세요
괄호 변환(30) 문제 보기 문제 이해 솔직히 문제를 해결하기 전까지 "뒤집고붙이고떼고다시하고..." 뭔 말을 하는건지 당최 이해를 못했습니다. 그냥 시키는 대로 코드를 작성하고, 결과를 재귀 형태로 만들었더니 통과할 수 있었습니다. 따라서 시키는 대로 코드를 작성한 과정을 풀이로 적어보겠습니다. 문제 풀이 1. 입력이 빈 문자열인 경우, 빈 문자열을 반환합니다. // 1. 입력이 빈 문자열인 경우, 빈 문자열을 반환합니다. if (p === "") { return ""; } 2. 문자열 w를 두 "균형잡힌 괄호 문자열" u, v로 분리합니다. 단, u는 "균형잡힌 괄호 문자열"로 더 이상 분리할 수 없어야 하며, v는 빈 문자열이 될 수 있습니다. // 2. 문자열 w를 두 "균형잡힌 괄호 문자열" u..
숫자 변환하기 문제 보기 문제 풀이 1 (실패) DFS 첫 번째로 DFS(깊이 우선 탐색)를 이용하여 재귀적인 방식으로 문제를 해결하려 했습니다. 비효율적인 방법이라는 것은 인지하고 있지만, 일단 구현하기 위해서 시도한 방법입니다. y를 만들 수 있는 가능한 모든 경우의 수를 저장하고, 그 중에서 가장 작은 값을 찾아 반환하기로 했습니다. 그러나 이 방식은 n=1 y=1,000,000인 경우만 생각해보아도 경우의 수가 너무 많습니다. 결과는 예상대로 스택 오버플로우 에러가 발생합니다. 이미 계산된 값인 경우에는 종료시켜주기 위해서 Map 객체로 값을 메모하기도 했지만 어림도 없었습니다. function solution(x, y, n) { let result = []; const bfs = (num, co..
투 포인터(Two Pointers) 정렬된 배열에서 시작와 끝을 가리키는 두 개의 포인터를 이용하여 부분 배열을 탐색할 때 활용된다. https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 비내림차순으로 정렬된 수열이 주어질 때, 다음 조건을 만족하는 부분 수열을 찾으려고 합니다. 기존 수열에서 임의의 두 인덱스의 원소와 그 사이의 원소를 모두 포함하는 부분 수열이어야 합니다. 부분 수열의 합은 k입니다. 합이 k인 부분 수열이 여러 개인 경우 길이..
1. Jotai Atom의 핵심은 Atomic이다. Jotai는 useContext에서 발생하는 리렌더링 문제를 해결하기 위해 개발되었다. => 여기서 리렌더링 문제란 하나의 상태라도 변경이 되면 context가 선언된 컴포넌트의 하위 모든 컴포넌트가 리렌더링 된다. 예를 들면 다음과 같다. import React, { createContext, useContext, useState } from 'react'; const MyContext = createContext(); // 1. 부모 컴포넌트에서 context를 생성 const ParentComponent = () => { const [count, setCount] = useState(0); return ( ); }; // 2. 자식1 컴포넌트에서 ..