목록전체 글 (97)
시작하는 중
호텔의 예약 정보가 들어오고 정보를 바탕으로 대실이 몇개 필요할지 계산하는 문제 어떻게 풀어야할까? 처음에는 어렵게 생각해서 리스트 만들고 계속 검사하면서 기존 방들의 시간이 겹치면 리스트에 해당 예약 시작, 끝 정보를 담는 리스트를 추가하여 결국 2차원 리스트로 하려고 했는데 하다보니깐?? 그냥 구간합으로 풀면 되는 문제였다. 1. 길이가 60*24인 number 리스트를 만들고 2. 예약 정보에 대한 순회를 돌고 3. string 형태의 시간과 분을 파싱하고 4. 구간합을 하기 위해 시작과 끝 지점을 각각 1, -1로 마킹하고 5. 예약 정보 순회가 끝난 후 number_list를 돌면서 구간합을 하면 된다. 밑에는 코드에요. def solution(book_time_list): answer = 0 ..

만약 1~n까지, 3~m까지, z~x까지 모두 1씩 더해야한다고 하자. 모든 변수는 1부터 시작하고 최대 1000까지이다. 이때 가장 큰 값은? 그렇다면 코드로는 info_list = [[1, n], [3, m], [x, y]] number_list = list(0 for i in range(1001) for info in info_list: s, e = info for index in range(s, e): number_list[index] += 1 print(max(number_list)) 이렇게 이중 반복문을 돌아야한다. 때문에 시간복잡도는 O(N^2)가 된다. 하지만 이런 구간의 합에 대한 것을 구간에 대한 순회와 숫자열에 대한 순회, 총 두번만 순회하면 되는 방법이 있다. 바로 구간합! info..
useEffect react의 main job UI를 랜더링하고 User의 입력에 반응하는 것 JSX 코드와 DOM을 평가하고 렌더링 상태와 props를 관리 유저의 이벤트와 입력을 처리 UI를 표현 Side Effect React의 main job을 제외한 React에 일어나는 모든 것이다. HTTP request를 보내거나 local storage에 저장하거나 타이머나 간격을 조정하는 것 그러나 이런 작업들은 적어도 UI적인 측면과는 관계가 없다. 즉, 잠재적 오류를 처리하거나 HTTP request를 보내는 것은 react와 관계가 없다. -> 즉 컴포넌트 밖에서 일어나야하는 것이다. 만약, 1.component에서 axios요청 보냈을 때 2.만약 어떤 state가 바뀌고 3.해당 state가 변..
state state는 컴포넌트 구성요소의 특정한 데이터가 담긴다. 모든 컴포넌트에 state를 써야할 이유는 없으며 state를 사용하게 된다면 해당 state는 const인 것처럼 다뤄서 임의로 재할당을 하면 안된다. 언제 사용해야 하는가 시간이 지남에 따라 변경될 수 있는 구성 요소 구성 요소가 렌더링 후 변화되어 UI에 변화를 주는 경우 이럴 때 사용하여 state를 활용해 리액트 컴포넌트를 재평가하거나 새로운 컴포넌트를 생성하거나 할 수 있다. 어떤 구성 요소가 렌더링이나 데이터의 흐름에 영향을 주지 못한다면 state를 사용할 이유가 없다. useState state를 관리하기 위한 메서드로써 이를 통해서 state를 업데이트하고 컴포넌트를 재평가할 수 있다. React Component의 특..