본문 바로가기

전체 글365

[11주차] 스택과 큐 4월 2일 자 학습 내용 정리입니다. ✅ 선형 구조와 비선형 구조 자료구조는 선형 구조와 비선형 구조로 나눌 수 있다. 선형 구조는 자료들이 순서를 가지고 연속된 자료구조를 의미한다. 반대로 비선형 구조는 일렬로 나열하기 힘들고 자료의 순서가 불규칙해서 연결 관계가 복잡한 구조를 말한다. 선형 구조에는 스택(Stack), 큐(Queue) 등이 존재하고 비선형 구조에는 트리(Tree), 그래프(Graph) 등이 존재한다. ✅ 스택 스택(Stack)은 한쪽 끝에서만 자료를 넣고 뺄 수 있는, Last-In First-Out(LIFO, 후입선출)의 특징을 가진 자료구조이다. 스택이 지원하는 연산 목록은 아래와 같다. push : 자료 삽입 pop : 자료 제거 top : 스택의 가장 위에 있는 자료 반환(마지.. 2022. 4. 5.
[11주차] 자료구조의 의미와 배열, 연결리스트 4월 2일 자 학습 내용 정리입니다. ✅ 자료구조 자료구조는 말 그대로 자료를 저장하는 구조이다. 자료구조에는 배열, 트리 등 여러 종류가 있으며 저장된 자료에 대해 접근하는 방법이 약간씩 다르다. ✅ 추상적 자료형 자료형이란 어떤 자료가 식별되는 방법을 정의하고 그 자료에 대한 여러가지 연산(동작)을 제공한다. 여기서 연산이란 그 자료에 어떻게 접근할 것인지, 그 자료를 어떻게 사용할 것인지 등 다양한 동작을 말한다. 추상적 자료형은 어떤 자료와 그 자료에 대한 연산(동작)들의 수학적인 정의를 의미한다. 하지만 이 정의를 구현하는 방법은 명시되어 있지 않다. 따라서 추상적 자료형은 자료들과 그 자료들에 대한 연산들을 개념적으로 정의만 한 것을 말하며 자료구조는 추상적 자료형을 구체적으로 구현해 자료를 .. 2022. 4. 5.
[CSS] float를 해제하는 방법들 취준생이라면 알면 좋을 프론트엔드 관련 지식들 자료를 보고 정리한 내용입니다. ✅ float를 해제하는 방법들 float이라는 단어는 뜨다, 부유물 등의 사전적 의미를 가지고 있다. 이름에 걸맞게 css의 float 속성은 주변의 요소들을 플로팅 요소 주변에 흐르게 만든다. 즉, 해당 HTML 요소가 주변의 다른 요소들과 자연스럽게 어울리도록 만들어 준다. 보통 웹 페이지의 레이아웃을 작성할 때 자주 사용된다. float 속성을 자식 엘리먼트에 사용하게 되면 부모 엘리먼트가 자식의 높이를 감지할 수 없기 때문에 이를 반영하기 위한 방법이 필요하다. 부모 자식 .child { float: left; } ✔️ 부모 엘리먼트에 float 적용 자식 엘리먼트의 높이를 부모에게 반영하는 방법으로 부모에게도 flo.. 2022. 4. 1.
[프로그래머스] 문자열 압축 문제 링크 >> https://programmers.co.kr/learn/courses/30/lessons/60057 📋 문제 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하는 알고리즘을 공부하고 있습니다. 간단한 예로 "aabbaccc"의 경우 "2a2ba3c"(문자가 반복되지 않아 한번만 나타난 경우 1은 생략함)와 같이 표현할 수 있는데, 이러한 방식은 반복되는 문자가 적은 경우 압축률이 낮다는 단점이 있습니다. 예를 들면, "abcabcdede.. 2022. 3. 14.
[프로그래머스] 무지의 먹방 라이브 문제 링크 >> https://programmers.co.kr/learn/courses/30/lessons/42891 📋 문제 평소 식욕이 왕성한 무지는 자신의 재능을 뽐내고 싶어 졌고 고민 끝에 카카오 TV 라이브로 방송을 하기로 마음먹었다. 그냥 먹방을 하면 다른 방송과 차별성이 없기 때문에 무지는 아래와 같이 독특한 방식을 생각해냈다. 회전판에 먹어야 할 N 개의 음식이 있다. 각 음식에는 1부터 N 까지 번호가 붙어있으며, 각 음식을 섭취하는데 일정 시간이 소요된다. 무지는 다음과 같은 방법으로 음식을 섭취한다. 무지는 1번 음식부터 먹기 시작하며, 회전판은 번호가 증가하는 순서대로 음식을 무지 앞으로 가져다 놓는다. 마지막 번호의 음식을 섭취한 후에는 회전판에 의해 다시 1번 음식이 무지 앞으로.. 2022. 3. 12.
[이코테] 볼링공 고르기 이것이 취업을 위한 코딩테스트다 with 파이썬 책을 읽고 정리한 내용입니다. 📋 문제 A, B 두 사람이 볼링을 치고 있다. 두 사람은 서로 무게가 다른 볼링공을 고르려고 한다. 볼링공은 총 N개가 있으며 각 볼링공마다 무게가 적혀있고 공의 번호는 1번부터 순서대로 부여한다. 같은 무게의 공이 여러 개 있을 수 있지만 이 경우 서로 다른 공으로 간주한다. 볼링공의 무게는 1부터 M까지 자연수 형태로 존재한다. 예를 들어 N이 5이고 M이 3이며 각각의 무게가 차례대로 1, 3, 2, 3, 2 일 때 각 공의 번호가 차례대로 1번부터 5번까지 부여된다. 이때 두 사람이 고를 수 있는 볼링공 번호의 조합을 구하면 다음과 같다. (1번, 2번), (1번, 3번), (1번, 4번), (1번, 5번), (2번,.. 2022. 3. 11.
Recoil 사용하기 Recoil 자습서를 읽고 작성한 글입니다. ✅ Recoil Recoil은 React 상태 관리 라이브러리이다. Recoil에서 상태 변화는 atoms(공유 상태)에서 selectors(순수 함수)를 거쳐 React 컴포넌트로 데이터가 흐른다. 여기서 atoms는 상태의 단위이고 Selectors는 atoms 상태 값을 동기 또는 비동기 방식으로 변환한다. ✔️ Atom Atom은 Recoil에서의 상태 단위이다. Atoms는 어떤 컴포넌트에서나 읽고 쓸 수 있으며 atom의 값을 읽는 컴포넌트들은 암묵적으로 atom을 구독한다. Atom이 업데이트되면 이를 사용하고 있던 컴포넌트는 새로운 값을 반영해 재렌더링된다. Atom은 런타임에서 생성될 수도 있으며 동일한 Atom이 여러 컴포넌트에서 사용되는 경.. 2022. 3. 11.
[8주차] 상태 관리에 사용되는 Hook 3월 11일 자 학습 내용 정리입니다. ✅ 상태 관리에 사용되는 Hook 외부 라이브러리 없이 React가 제공하는 Hook 만으로도 상태 관리를 구현할 수 있는데, 함수형 컴포넌트에 상태를 두고 여러 컴포넌트 간 데이터와 데이터 변경 함수를 공유하는 방식으로 상태를 관리한다. ✔️ useState useState는 단순하게 하나의 상태를 관리하기 적합하다. state가 바뀌면 state를 사용하는 컴포넌트를 재렌더링하며 useEffect와 함께 state에 반응하는 Hook을 구축한다. const [state, setState] = useState(initValue | initFn) ✔️ useRef useRef는 상태가 바뀌어도 재렌더링하지 않는 상태를 정의한다. 즉, setTimeout의 timer.. 2022. 3. 11.
[8주차] 상태 관리와 Flux Pattern 3월 11일 자 학습 내용 정리입니다. ✅ 상태 관리 상태 관리란 앱 상에서의 데이터를 메모리 등에 저장하고 하나 이상의 컴포넌트에서 데이터를 공유하는 것을 의미한다. 상태 관리는 한 컴포넌트 안에서의 상태, 여러 컴포넌트 간의 상태, 전체 앱의 상태 관리를 모두 포함한다. 상태 관리 기술은 높은 품질의 코드 작성, 성능 최적화, 네트워크 최적화 등에 유리하다. localStorage 활용한 persist state와 같은 데이터 관리의 고도화를 이룰 수 있다. 상태 관리 기술의 단점도 물론 존재한다. 파악해야 할 로직과 레이어가 많아질 수 있으며 잘못 사용할 경우 앱의 복잡도만을 높이거나 성능을 악화시킬 수 있다. 이러한 예에는 global state를 잘못 활용했을 시 앱 전체에 리렌더링을 발생시켜 .. 2022. 3. 11.