본문 바로가기

전체보기178

[프로그래머스] 스킬트리 처리조건 더보기 https://programmers.co.kr/learn/courses/30/lessons/49993 풀이 skill을 split하여 선행 스킬 순서를하나하나 쪼개어 배열로 만들어준다. 또한 skill_trees도 for문을 돌며 하나의 스킬트리 원소마다 올바른 순서인지 확인할 것이기 때문에 이것도 한 스킬트리원소를 순회할 때 마다 split으로 쪼개줄것이다. 배열의 교집합을 사용하면 편할 것 같다고 생각했다. 또한 조건도 잘봐야한다. 스킬은 중복해서 주어지지 않으며 선행스킬순서가 CBD라면 스킬트리요소는 BD로 C가없어도 순서대로 이어지니 문제없는 스킬트리요소이다. 스킬이 CBD이고 스킬트리요소가 BACDE일때 교집합을 스킬트리요소 기준으로 구하면 스킬트리요소에서 선행스킬 순서에 상관없.. 2022. 5. 1.
[프로그래머스] n^2 배열 자르기 처리조건 더보기 https://programmers.co.kr/learn/courses/30/lessons/87390 풀이 처음에는 주먹구구식방법으로 입력값 n만큼 일차원배열을 가진 이차원배열을 만들고 해당 일차원 배열마다 내부에 1~n만큼 가득채웠다. 그후 이중 for문을 돌면서 완전한 2차원배열을 만들고 1차원배열로 분해해 모두를 concat한 뒤 slice로 letf부터 right까지 짤라서 리턴하려고 했다. 이렇게 1~n까지 들어간 이차원 배열을 만들고 노란색부분만 아래처럼 for문을 돌려 바꿔준뒤 완전한 이차원 배열을 만들고자했다. function solution(n, left, right) { const answer = new Array(n).fill().map((_, index) => { r.. 2022. 4. 30.
[프로그래머스] 점프와 순간 이동 처리조건 더보기 https://programmers.co.kr/learn/courses/30/lessons/12980 풀이 우선 처리조건을 잘 이해하며 규칙성을 잘 찾아야한다. 1칸씩 이동할 때마다 1개의 배터리를 소모하고 x2씩 점프할 때는 배터리를 소모하지않으며 입력값과 정확히 같아져야한다. 입력값 5000을 기준으로 최소한의 건전지 사용을 구해보자 쉽게 생각해보면 1칸씩 이동할 때는 배터리를 소모하므로 최대한 이 1칸씩 이동하는 행위는 줄이고, 2칸씩 점프하는건 멀리이동할 수 있으면서 배터리소모가 없으니 최대한 많이 이 행위를 해야할 것이다. 그렇다면 5000을 어떻게 이 1칸이동을 최소화하고 2칸이동을 최대화할까? 5000을 2로 나눠가면서 홀수가 나오면 -1를 빼주며 부득이하게 1칸이동을 해주며.. 2022. 4. 29.
[프로그래머스] 이진 변환 반복하기 처리조건 더보기 https://programmers.co.kr/learn/courses/30/lessons/70129?language=javascript 풀이 처음 조건은 현재 s에 0이 있는지 확인 후 있다면 0을 모두 제거하고 제거한 0만큼 카운터를 쌓아준다. 그리고 남은 1들의 길이를 잰 다음 해당 길이를 다시 2진수로 바꾸면 1과0로 조합된 이진수형태가 될 것이다. 다시 여기서 처음 조건문부터 반복해주어야하며 길이가 1이 될 때 반복을 종료하면 된다. 우선 01110을 입력값 기준으로 생각해보자. 들어온 값에 0이 포함됐으므로 0을 제거해주어야한다. 제거한 0의 카운터를 +2해준다. 111만 남게 되고 111의 길이인 3을 이진형태로 바꾸면 11이 된다. 11은 0이 포함되어 있지 않다. 바로 길.. 2022. 4. 29.
React 상태관리 제대로 해보기 (useState ↔ Redux) Hook - useState 우선 useState로 최상위 컴포넌트에서 장바구니에 담은 아이템들을 관리하고 있으며 장바구니에서 담긴 아이템은 삭제하거나 수량을 변경하면 최상위 컴포넌트에 있는 장바구니 상태인 cartItems가 변경되며 상품리스트에 있는 새 아이템들을 장바구니에 담으면 기존 장바구니에 있는 itemId가 존재하는, 담겨있던 상품이라면 갯수만 추가해주고 담겨 있지 않던 상품이라면 아이템을 새롭게 추가하게 된다. 최상위 컴포넌트 App function App() { const [items, setItems] = useState(initialState.items); //판매중인 itemList const [cartItems, setCartItems] = useState(initialState... 2022. 4. 19.
클레이튼 트랜잭션 처리시 "invalid unit price" 프로젝트3에서 만든 staking에 추가적인 기능을 구현해보려고 하는도중에 잘 예치해둔 10개의 KFT토큰을 출금하거나 현재 발생된 예치이자를 출금하려고하니.. 다음과 같은 오류가 발생했다. 처음에는 출금 메소드안에 들어 갈 숫자가 toWei나 toFrom으로 쓰지말고 caver에서 제공하는 convertToPeb의 convert를 사용하지 않아서 그런가?.. 하며 생각해보았지만 이전에는 잘 작동 됐는데 갑자기 안된다는 것에서 새로운 업데이트가 있었는지 확인해보았다. 클레이튼 공지사항을 보니 3월3일자로 GAS비가 변경이 돼었다. https://medium.com/klaytn-kr/notice-gas-price-adjustment-announcement-kr-6e45db8056c0 그래서 기존에 send.. 2022. 4. 2.