2024/06/21 3

24.06.21 TodoList 페이지 기능추가하기

초기엔 이렇게 컴포넌트를 나눠 재사용하려 했다.하지만 코드를 작성하면서 TodoBox의 존재이유를 잘 모르겠어서 TodoBox를 삭제하고 InputBox안에 합치는 컴포넌트를 하나 넣기로 하였다.이렇게 한 이유는 기능적인 부분에서 나왔다. InputBox에서 Todo를 추가하면 해당 TodoList 배열 변화가 아래 TodoList 컴포넌트에도 전달되어야한다.만약 InputBox와 TodoList컴포넌트가 완전히 분리되어있었다면, App.js에서 state를 관리해야하므로, 쓸모없는 리렌더링이 일어날 수 있어 TodoList를 InputBox에 넣기로 결정하였다. import React, { useState } from 'react';import CustomInput from './commons/Cust..

2차 공부/TIL 2024.06.21

24.06.21 Map

Map 객체는 키-값 쌍인 집합이다. 한 Map에서의 키는 오직 단 하나만 존재한다. 이를 Map의 유일성이라 한다. Map은 다른 객체들과 동일해 보인다. 또한 객체와 비슷한 방법으로 데이터를 넣을 수도 있다.const wrongMap = new Map();wrongMap['wrong'] = 'wrongMap!'console.log(wrongMap); // Map { wrong: 'wrongMap!' }객체 형식으로도 데이터를 넣을 수도 있지만, Map이 제공하는 메서드로 접근할 순 없다.const wrongMap = new Map();wrongMap['wrong'] = 'wrongMap!'console.log(wrongMap); // Map { wrong: 'wrongMap!' }wrongMap.ha..

2차 공부/TIL 2024.06.21

대충 만든 자판

프로그래머스 - 대충 만든 자판 어떤 버튼을 반복해서 누르면 keymap의 각 요소대로 순서대로 나온다. (스마트폰 천지인 자판, 피쳐폰 자판)이때 targets의 각 요소마다 몇번의 자판누름이 필요할지 각각 배열에 넣어 리턴하는 함수를 만드는 것이다.다만, keymap 배열로 만들 수 없는 targets요소가 있다면, -1을 리턴해야한다.  처음엔 keymap의 요소를 모두 split시키고, 반복문에따라 targets의 각 요소를 split시켜 비교해 결과를 낼 생각이었다.하지만 코드를 작성하면서 이게 맞나 싶었다. keymap과 targets 배열의 요소가 각각 100개까지 가능했고, 각 원소의 길이도 100까지 가능했기 때문이다.비교하는 과정과 계속 split을 시켜야하는 부분에서 시간적으로 손해일..