백준의 https://www.acmicpc.net/board/view/49056 글 읽기 - PyPy3에서는 잘 돌아가는데 Python3에서는 런타임에러가 납니다. 댓글을 작성하려면 로그인해야 합니다. www.acmicpc.net 문제를 python3으로 풀때, dp를 사용하여 재귀적으로 풀 수 있는데, 이때 pypy3로는 정상동작하지만, python3로 할때 런타임에러가 나는 것을 알 수 있다. 이유는 python3가 내부적으로 재귀 깊이가 10**3이기 떄문이다. import sys sys.setrecursionlimit(10**6) 위 코드로 에러를 피할 수 있다.
앞서 포스팅했었지만 다시 복습을 위해서 redux에 대해서 다시 정리한다. redux는 어플리케이션의 클라이언트 쪽 state를 관리하기 위한 이벤트루프이다. action === event reducer === response of event redux는 클라이언트 앱의 복ㅈ바성을 제어하기 위한 하나의 state제어 수단이다. (방법론) 즉 redux는 클라이언트의 종합적인 state를 관리하기 위한 아키텍쳐 방법론이다. redux의 어플리케이션 전체에는 store라는 커다란 하나의 state가 존재하고, 이것이 어플리케이션의 state를 총괄한다. 이 state는 reducer로만 새로운 형태로 바꾸는 것이 가능하다. reducer는 type과 payload를 속성으로 같는 단순 객체인 action 이..
앞서 하위 컴포넌트에서 history를 사용하려면 withRouter를 사용해서 그 기능에 접근해야 한다고 포스팅한적이 있다. 그런데, useHistory로 history에 접근하여 사용하는 코드를 보고 급하게 이 글을 쓰게 되었다. 사실은 이렇다. 원래 를 사용하지 않은 컴포넌트에서는 widthRouter HoC로 감싸주어야 match, location, history를 사용할 수 있었는데, React-router v5.1 이상이 되면서 match는 useParams로, history는 useHistory로, location은 useLocation 이라는 hooks를 통해 접근할 수 있게 되었습니다. 그리고 react-router v5는 v4와 호환되게 개발되어서 이전버젼을 걱정하지 않고 개발할 수 있..
object-fit: fill; 대체되는 요소의 내용이 지정된 너비와 높이에 따라서 이미지가 확대 또는 축소되어 요소를 가득채울 수 있는 크기로 변화되어서 적용된다. 가로세로 비율이 유지되지 않는다. object-fit: contain; 내용이 가로세로 비율을 유지하면서 요소의 크기에 맞게 확대 또는 축소된다. 공백이 생길 수 있다. object-fit: cover; 내용이 가로세로 비율을 유지하면서 요소의 크기에 맞게 확대 또는 축소된다. 공백이 생기지 않고 가능 채워진다. object-fit: scale-down; 과 object-fit: none; 은 알아보지 않겠다.
BrowerRouter는 react-router-dom 라이브러리에 있다. SPA에서는 화면의 일부분만 렌더링을 하기 때문에 react-router-dom을 사용한다. 참고로 react-router-dom에는 BrowserRouter랑 HashRouter 이렇게 2가지가 있는데, HashRouter는 해시(#)를 사용하여 처럼 모든 경로앞에 #를 붙여서 서버요청을 보내지 않게하고 SPA를 수행하게 해주는 것이고, BrowserRouter는 html5의 history API를 사용해서 UI를 업데이트하는 것이다. 보통 request와 response로 이루어지는 동적인 페이지를 제작하므로, 가 보편적으로 사용되어진다.
redux란? 리덕스는 상태의 중앙 관리를 위한 상태관리도구이다. react, angular, vue에서도 사용할 수 있다. 리덕스는 '전역 상태'를 생성하고 고나리하기 위한 라이브러리라고 할 수 있다. 리덕스는 크게 - 저장소: 전역상태를 보관 - 리듀서: 상태 저장소에 접근을 위함. - 액션: 리듀서에 행동을 명령 - 서브스크립션: 저장소에 보관된 상태를 가져옴 으로 나누어져 있다. 저장소(store) : 전역상태를 저장한다. javascript 객체 형태로 저장되어 있으며, reducer를 통하지 않고 접근할 수 없다. 1개의 application에 1개의 store만이 존재할 수 있으며, react에는 index.js에 정의하는 편이다. 리듀서(reducer) : store에 유일하게 접근할 수 ..
https://programmers.co.kr/learn/courses/30/lessons/42883 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 핵심은 최종적으로 출력해야할 (문자열의 길이-1) 만큼 뒷문자열을 남겨두고, 앞의 문자열에서 최대값을 찾아 하나씩 넣어주는 것이다. 입력값이 "4177252841", 4 이면, 최종적으로 출력해야할 길이는 10-4 = 6이다. 1. (1)6-1=5 만큼 뒤에 남겨둔다. (6의자리를 찾는것) 1. (2) 41772 52841 1. (3) 앞의 문자열에서 최대값을 찾는다. 1. (4) 첫번째 "7" (answer = "7") 1. (5) 찾은 인덱스의 앞까지 버린다. (찾을 필요없음) => 7252841 1. (6) 최종적으로 출력해야할값을 ..
https://programmers.co.kr/learn/courses/30/lessons/49993?language=javascript 코딩테스트 연습 - 스킬트리 programmers.co.kr 깊게 고민하지 않는게 포인트 function solution(skill, skill_trees) { var answer = 0; for (let i = 0; i < skill_trees.length; ++i) { let arr = []; let isValid = true; for (let j = 0; j < skill.length; ++j) { arr.push(skill_trees[i].indexOf(skill[j])); } for (let j = 0; j < arr.length; ++j) { if (j + ..