목록전체 글 (131)
고양이와 코딩
10월 27일 문자열 밀기 - javascript 내 코드 function solution(A, B) { var answer = 0; if (A.length !== B.length) { return -1; } while (A !== B) { A = A[A.length - 1] + A.substring(0, A.length - 1); answer++; if (answer > A.length) { return -1; } } return answer; } 시행착오 더보기 시프트 연산을 써야겠다는 생각 + 시프트 연산을 1씩 반복해서 증가시키면서 확인 처음에 이렇게 생각을 했는데 shift횟수를 변수로 만들어서 관리하는게 별로 좋은 생각이 아니었던 것 같다(내가 잘 못해서 그런걸수도 ㅎㅎ) while문 내에서,..
10월 22일 문제1 내 코드 function solution(score) { var answer = []; for (var i=0; i b - a); const rank = answer.map(value => sortedAnswer.indexOf(value) + 1); return rank; } 헤맸던것 !!! → 내림차순으로 정렬 한 뒤 순위를 매기는 부분에서 "기존 배열에서 순위" 를 매기는 부분을 헤맸다. 기존 배열인 answer를 기반으로 순위를 생성하는 코드를 짰다..
10월 18일 문제 나의 풀이 def solution(numlist, n): distance_value = [] answer = [] # 거리와 원본 값 튜플을 리스트에 추가 계산하여 distance 리스트에 추가 for i in numlist: distance = abs(i - n) distance_value.append((distance, i)) # 거리가 같으면 더 큰 값을 앞에 두도록 정렬 distance_value.sort(key = lambda x : (x[0], -x[1])) answer = [x[1] for x in distance_value] return answer 조건부 정렬이라 lambda를 써야겠다는 생각을 했다.. distance_value에 [(3,1),(2,2) ......]..
부제: 스크롤되기 전에 보이지 않는 컴포넌트는 렌더링하지 않고 크기만 차지하게 하기 import React, { useCallback } from 'react'; import { List } from 'react-virtualized'; import TodoListItem from './TodoListItem'; import './TodoList.scss'; const TodoList = ({ todos, onRemove, onToggle }) => { const rowRenderer = useCallback( // useCallback 훅을 사용하여 함수를 메모이제이션하고, 'todos','onRemove', 'onToggle'이 변경될때만 다시 생성되도록 함 ({ index, key, style })..
[2023.10.9] 문제 def solution(before, after): before_word = list(before) after_word = list(after) before_word.sort() after_word.sort() if before_word == after_word: return 1 else: return 0 list로 문자열을 문자로 분리한것까진 좋았으나, sort를 사용하지 않으면 순서가 달라서 if문에서 인식하지 못함! sort로 순서대로 정렬 후 비교하기 [2023.10.11] 문제 처음 접근 방법 각 start-end의 절댓값 길이에서 다른 선분의 절댓값 길이를 뺐을때.. 어쩌고..
리다기 공부중,, 기존의 코드에서 useMemo를 사용해 최적화 하는 부분은 어느정도 이해를 했는데, + useCallback으로 최적화 하는 부분이 영 이해가 안가서, 따로 정리해본다 기존 함수부분 const onChange = (e) => { setNumber(e.target.value); }; const onInsert = (e) => { const nextList = list.concat(parseInt(number)); setList(nextList); setNumber(""); }; useCallback 사용 const onChange = useCallback((e) => { setNumber(e.target.value); }, []); // 컴포넌트가 처음 렌더링될 때만 함수 생성 const..