출처 : https://www.youtube.com/watch?v=K1PlysPgNZY&t=20s1. 선형 구조란?자료 구조의 분류구조설명종류선형 구조데이터를 연속적으로 연결한 자료 구조리스트, 스택, 큐, 데크비선형 구조데이터를 비연속적으로 연결한 자료 구조트리, 그래프리스트2. 연결리스트란?개념연속된 노드(Node)의 연결체데이터를 감싼 노드를 포인터로 연결해서 공간적인 효율성을 극개화시킨 자료 구조노드(Node)연결리스트에서 사용되는 하나의 데이터 덩어리이며, 데이터 & 링크이 2가지의 필드를 담고 있는 구조data : 노드가 담고 있는 데이터/값, 문자열, 숫자 등등 원하는 값을 넣고 저장next : 링크/ 포인터 역할, 다음 노드의 주소를 저장양방향 연결 리스트의 경우 prev 포인터(이전 노드..
📚 아이디어를 코드로 바꾸는 구현피지컬로 승부하기 ⇒ 프로그래밍 언어의 문법에 능숙하고 코드 작성 속도가 빠른 사람구현 : 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정구현 문제 유형은 모든 범위의 코딩 테스트 문제 유형을 포함하는 개념라이브러리 사용 경험을 익숙하게 하자📝 알고리즘을 풀 때 과정생각해낸 문제 풀이 방법을 우리가 원하는 프로그래밍 언어로 정확히 구현프로그래밍 언어의 문법을 정확히 알고 있어야 함📝 문제 해결 분야에서 구현 유형의 문제란?풀이를 떠올리는 것은 쉬우나 소스코드로는 옮기기 어려운 문제알고리즘은 간단한데 코드가 지나칠 만큼 길어지는 문제실수 연산을 다루고, 특정 소수점 자리까지 출력해야 하는 문제적절한 라이브러리를 찾아서 사용해야 하는 문제📝 구현의 유형완전 탐색 : 모..
📚 당장 좋은 것을 선택하는 그리디 알고리즘단순하지만 강력한 문제 해결 방법탐욕법 알고리즘 : 현재 상황에서 지금 당장 좋은 것만 고르는 방법의 알고리즘창의력을 요구, 단순히 현재 상황에서 가장 좋아 보이는 것만 선택해도 ok순간 가장 좋아 보이는 것을 선택, 현재의 선택이 나중에 미칠 영향 고려 No!정렬 알고리즘과 짝을 이뤄서 출제 ⇒ ‘가장 큰 순서대로’와 같은 기준 제시📝 코테에서 만나게 될 알고리즘 유형사전에 외우고 있지 않아도 풀 수 있을 가능성이 높은 문제 유형이라는 특징 : 그리디알고리즘 사용 방법을 정확히 알고 있어야 해결 가능 : 정렬, 최단경로 등📝 예시1 거스름돈가정) 카운터에 거스름돈으로 사용할 500, 100, 50, 10원짜리 동전이 무한 존재한다고 가정시 손님에게 거슬러..
이 글은 velog에서 정리한 내용을 다시 한 번 정리한 글입니다.MVVM 패턴1. 개념Model-View-ViewModel의 약자MVVM 패턴은 주로 사용자 인터페이스를 개발하는 데 사용되며, 특히 웹 애플리케이션과 모바일 애플리케이션에서 자주 쓰이는 패턴MVC의 C에 해당하는 컨트롤러가 뷰모델(View model)로 바뀐 패턴데이터 바인딩(Data Binding)을 활용하여 ViewModel과 View를 연결주로 자바스크립트 프레임워크인 Angular, Vue.js, Rect 등에서 사용2. 주요 구성 요소Model(모델)데이터와 비즈니스 로직을 관리하는 역할주로 데이터베이스와 통신하여 데이터를 가져오거나 저장하는 역할View(뷰)사용자 인터페이스를 표현하는 역할사용자에게 데이터를 보여주고 사용자 입..
노출모듈 패턴1. 노출모듈 패턴이란?즉시 실행 함수를 통해 private, public 같은 접근제어자를 만드는 패턴주로 자바스크립트에서 사용되며, 객체 지향 프로그래밍과 모듈화 적용 시 유용여러 개의 모듈이 있을 때, 각 모듈마다 자체적인 비공개(private) 멤버와 공개(public) 멤버를 가질 수 있도록 설계모듈 간의 상호작용을 관리하고, 모듈 간의 결합도를 낮추어 유연하고 재사용 가능한 코드를 작성할 수 있다.자바스크립트는 private나 public 같은 접근 제어자가 존재하지 않고 전역 범위에서 스크립트 실행그렇기 때문에 노출 모듈 패턴을 통해 private나 public 같은 접근 제어자 구현 a와 b는 다른 모듈에서 사용할 수 없는 변수나 함수이며, private의 범위를 가짐c는 다른..
디자인 패턴과 프로그래밍 패러다임라이브러리 vs 프레임워크라이브러리공통으로 사용될 수 있는 특정한 기능을 모듈화 한 것을 의미폴더명, 파일명 등에 대한 규칙이 없고 프레임워크에 비해 자유롭다.무언가를 자를 때 도구인 가위를 사용해서 내가 직접 컨트롤하는 것프레임워크공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것을 의미폴더명, 파일명 등에 대한 규칙이 있으며 라이브러리에 비해 좀 더 엄격하다.다른 곳으로 이동할 때 도구인 비행기를 타고 이동하지만 비행기가 컨트롤 하는 것싱글톤 패턴(singleton pattern)하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴. 보통 데이터베이스 연결 모듈에 많이 사용된다.전역 변수를 사용하지 않고 객체를 하나만 생성하도록 하며, 생성된 객체를 어디에서든지 참조할..