코드스테이츠 SEB FE 41기 (123) 썸네일형 리스트형 [알고리즘/javascript] 이진탐색 & 변형된 이진탐색 이진탐색 알고리즘 개념 이미 정렬되어 있는 배열에서 탐색 범위를 두 부분으로 나눠 절반씩 좁혀가 필요한 부분에서만 탐색하도록 제한하여 원하는 값을 찾는 알고리즘이다. 이진 탐색은 알고리즘은 left, right, mid 이 세 개의 변수가 필요하다. left은 왼쪽의 끝 인덱스를 뜻하며 right는 오른쪽의 끝 인덱스를 뜻하고 left와 right의 사이는 탐색범위가 된다. mid는 left와 right 범위의 중간점을 뜻하며 탐색하는 범위에서의 중간점이다. 이때 중간점은 (left + right) / 2 란 공식으로 구할 수 있다. 이진 탐색의 시간 복잡도는 O(logN)이며 단순히 매번 절반의 탐색할 데이터를 제외시킨다 생각하면 된다. 탐색범위의 중간 인덱스를 지정하고, 찾고자 하는 값(target).. section3/Unit4/[사용자 친화 웹] 웹 표준 & 접근성(11/5) 블로깅 주제 웹 접근성 웹 접근성 웹 접근성이란? 일반적으로 웹 접근성은 장애인, 고령자 등이 웹 사이트에서 제공하는 정보에 비장애인과 동등하게 접근하고 이해할 수 있도록 보장하는 것을 뜻한다. 웹 접근성을 갖추면 웹에 접근했을 때 그 어떤 상황에서도 항상 동등한 수준의 정보를 제공받도록 보장받을 수 있다. 결국 웹 접근성의 궁극적인 목적은 어떤 상황이든, 어떤 사람이든 정보를 제공받지 못하는 경우가 없도록하는 것이다. 웹 콘텐츠 접근성 지침 ☑️ 인식의 용이성(Perceivable) : 모든 콘텐츠는 사용자가 인식할 수 있어야 한다. 1. 적절한 대체 텍스트 : 텍스트가 아닌 콘텐츠는 그 의미나 용도를 이해할 수 있도록 대체 텍스트를 제공해야 한다. 시각적으로 화면을 인식할 수 없는 사용자 혹은 상황을.. [알고리즘/javascript] DFS 문제 임의의 tree를 구성하는 노드 중 하나의 Node 객체를 입력받아, 해당 노드를 시작으로 깊이 우선 탐색(DFS, Depth First Search)을 합니다. 이 때, 탐색되는 순서대로 노드의 값이 저장된 배열을 리턴해야 합니다. 입력 인자 1 : node 'value', 'children' 속성을 갖는 객체 (Node) 'node.value'는 number 타입 'node.children'은 Node를 요소로 갖는 배열 출력 배열을 리턴해야 합니다. 주의사항 생성자 함수(Node)와 메소드(addChild)는 변경하지 않아야 합니다. 입출력 예시 let root = new Node(1); let rootChild1 = root.addChild(new Node(2)); let rootChild2.. [알고리즘/javascript] BFS 문제 임의의 tree를 구성하는 노드 중 하나의 Node 객체를 입력받아, 해당 노드를 시작으로 너비 우선 탐색(BFS, Breadth First Search)을 합니다. 이 때, 탐색되는 순서대로 노드의 값이 저장된 배열을 리턴해야 합니다. 입력 인자 1 : node 'value', 'children' 속성을 갖는 객체 (Node) 'node.value'는 number 타입 'node.children'은 Node를 요소로 갖는 배열 출력 배열을 리턴해야 합니다. 주의사항 생성자 함수(Node)와 메소드(addChild)는 변경하지 않아야 합니다. 입출력 예시 let root = new Node(1); let rootChild1 = root.addChild(new Node(2)); let rootChil.. section3/Unit4/[사용자 친화 웹] 웹 표준 & 접근성(11/4) 블로깅 주제 웹 표준 웹 표준 웹 vs 인터넷? 🤔 인터넷은 웹 기반으로 작동한다. ( O / X ) 정답은 X이다. 인터넷이 웹보다 좀 더 포괄적인 개념이기 때문이다. 인터넷은 ‘전 세계적으로 연결되어있는 컴퓨터 네트워크 통신망’을 의미하며, 웹뿐만 아니라 온라인 게임, 모바일 앱, 이메일 등 네트워크를 사용하는 다양한 서비스들을 모두 포함한다. 웹은 ‘공간’이다. 문서, 이미지, 영상 등 다양한 정보를 여러 사람들과 공유할 수 있는 공간이 ‘웹’이다. 우리가 쉽게 접하는 웹툰의 어원 역시 World Wide Web(웹) + Cartoon(만화)을 합친 것이다. 인터넷만 연결되어 있다면 웹이라는 공간 안에서 만화를 자유롭게 보고 댓글도 달 수 있다. 웹 표준의 정의 웹 표준이란 W3C(World Wid.. [알고리즘/javascript] 거듭제곱 구하기 (분할 제곱 방법) 문제 두 수를 입력받아 거듭제곱을 리턴해야 합니다. 입력 인자 1: base number 타입의 자연수 (base >= 2) 인자 2: exponent number 타입의 정수 (exponent >= 0) 출력 number 타입을 리턴해야 합니다. 실제 계산 결과를 94,906,249로 나눈 나머지를 리턴해야 합니다. 주의사항 Math.pow, 거듭제곱 연산자 사용은 금지됩니다. 시간복잡도 O(logN)을 만족해야 합니다. 나머지를 구하는 이유는 계산 결과가 컴퓨터로 나타낼 수 있는 수의 범위를 넘을 수 있기 때문입니다. 하지만 모든 연산이 끝난 뒤에 그 결과를 94,906,249로 나누려고 해서는 안 됩니다. 연산 중간에도 이 범위를 넘을 수 있기 때문에, 연산을 할 때마다 나머지를 구하고 그 결과에 .. section3/Unit4/ [React] 상태 관리(11/2) 블로깅 주제 Redux, Cmarket-Redux Redux Redux란? 아래 사진과 같은 구조의 React 애플리케이션이 있다고 생각해보자. 이 애플리케이션은 컴포넌트3, 컴포넌트6에서만 사용되는 상태가 있다. 그렇다면 이 상태를 어느 컴포넌트에 위치시켜야 할까? 기존에 배운 React의 데이터 흐름에 따르면, 최상위 컴포넌트에 위치시키는 것이 적절하다. 하지만 이런 상태 배치는 다음과 같은 이유로 다소 비효율적이라고 느껴질 수 있다. 1. 해당 상태를 직접 사용하지 않는 최상위 컴포넌트, 컴포넌트1, 컴포넌트2도 상태 데이터를 가짐 2. 상태 끌어올리기, Props 내려주기를 여러 번 거쳐야 함 3. 애플리케이션이 복잡해질수록 데이터 흐름도 복잡해짐 4. 컴포넌트 구조가 바뀐다면, 지금의 데이터 흐.. section3/Unit4/ [React] 상태 관리(11/1) 블로깅 주제 상태관리 1. 지금 현재, 당신의 기분이나 느낌을 표현해 주세요. 리액트 커스텀 컴포넌트 어드벤스드는 매우 어려웠다... 어제 밤에 탈탈 털리고 잤다^^7 2. 오늘 무엇을 학습한 내용 중 지금 떠올릴 수 있는 단어를 모두 나열해 주세요. 상태관리 3. 2에서 작성한 단어를 가지고, 오늘의 학습 내용을 설명해 보세요. - 상태관리 1. 전역 상태관리 상태는 변하는 데이터이다. 특별히 UI, 프론트엔드 개발에서는 "동적으로 표현되는 데이터"이다. "장바구니에 담기"와 같은 버튼을 눌러, 해당 물품을 장바구니에 추가할 수 있다. 동적인 데이터이므로 이것은 상태이다. 상단에 [일반구매/정기배송]중 현재 선택된 탭이 무엇인지 나타내는 상태가 있을 수 있다. 상품 선택 여부에 따라 주문 금액이나 배송.. 이전 1 ··· 7 8 9 10 11 12 13 ··· 16 다음