| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- 그리디 알고리즘
- 딕셔너리
- 그래프이론
- 다이나믹 프로그래밍
- 자바스크립트
- BFS
- 구현
- BASIC
- lv2
- CSS
- 그래프 탐색
- 웹 프론트엔드
- DFS
- programmers
- 프로그래머스스쿨
- web
- 브루트포스 알고리즘
- level2
- 스택
- JavaScript
- 자료구조
- 백준
- 프로그래머스
- 정렬
- 파이썬
- 너비 우선 탐색
- 문자열
- 알고리즘
- 그래프 이론
- DP
- Today
- Total
목록전체 글 (85)
DevLog:-)
이번 단위기간에 공부한 것들 VanillaJS typescript vue 프로젝트 & 과제 회고 노션클로닝 프로젝트 VanillaJS를 이용해 첫 번째 프로젝트인 노션 클로닝 프로젝트를 진행했다. 상태관리부터 디렉토리 구성, 컴포넌트 간의 데이터의 흐름 파악 등 공부하고 고려할 부분이 너무 많아서 쉽지 않은 과정이었다. 코드 상의 사소한 실수로 삽질도 하면서 시간 투자를 많이 한 거 같다. 아직 부족한 부분이 많아서 손봐야 할 부분이 많지만 기본 요구사항을 하나하나 지켜서 결과물을 만들고 배포까지 하니 확실히 뿌듯하고 재밌었던 같다. 배포 link scss 활용 유튜브 클로닝 scss과제를 통해 유튜브 클로닝을 했다. 확실히 보이는 부분을 다듬는게 흥미로운 것 같다. scss에서 제공하는 기능은 css와..
프로그래머스 데브코스에 합격하여 참여를 한지 어느덧 한 달이 지났다. 한 달이라는 시간이 정말 빠르게 지나간 것 같다.😅 cs부터 자료구조, 알고리즘, JavaScript , Vanilla JS까지 많은 것을 배울 수 있었던 한 달을 되돌아보며 회고록을 작성하려 한다. 👍좋았던 점 코어타임 코어타임은 일정 시간 동안 팀원들과 캠을 켜고 학습을 하는 시간을 말한다. 일정 시간으로 규정되어있다 보니 학습을 꾸준히 할 수 있었다. 그 시간을 정말 잘 활용했는가는 의문이긴 하다.(더 노력해야 할 부분...ㅎㅎ) 하루하루 주어진 강의의 내용을 소화하는 것도 어려울 때가 있었지만 팀원들과 함께 하는 코어시간이 있어 계속 나아갈 수 있었던 거 같다. 이 시간에 팀원들과 모던 자바스크립트 딥다이브 스터디도 하는데 혼자..
✔️Trie란? 문자열을 저장하고 효율적으로 탐색하기 위한 트리 형태의 자료 구조이다. 검색할 때 볼 수 있는 자동완성 기능, 사전 검색 등 문자열을 탐색하는데 특화되어 있는 자료 구조이다. 특히, Trie 자동완성은 검색 엔진, 텍스트 에디터 및 자동완성 기능을 구현하는 데 자주 사용되는 중요한 개념이다. ✔️Trie 자동완성 구현 코드 다음은 전위순회를 이용한 코드이다. insert메서드 : 트라이에 문자열을 삽입한다. has메서드 : 문자열의 존재 여부를 확인힌다. autoComplete메서드 : 문자열을 자동 완성할 수 있다. 자동완성을 위해 Trie를 순회를 한다. insert 된 단어만 출력할 수 있도록 Node 클래스에 inserted 속성을 추가했다. class Node { construc..
이진트리 - 전위순회, 중위순회, 후위 순회 class Queue { constructor() { this.queue = []; this.front = 0; this.rear = 0; } enqueue(value) { this.queue[this.rear++] = value; } dequeue() { const value = this.queue[this.front]; delete this.queue[this.front]; this.front += 1; return value; } peek() { return this.queue[this.front]; } size() { return this.rear - this.front; } } class Node { constructor(value) { this.va..
문제 N-Queen 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2차원 배열 코드 function solution(n) { let answer = 0; // 체스판을 2차원 배열로 초기화 const board = Array.from( Array(n), () => Array(n).fill(0)); // 해당 위치에 퀸을 놓을 수 있는지 확인하는 함수 function isSafe(row, col) { // 같은 열을 확인 for (let i = 0; i < row; i++) { if (board[i][col] === 1) { return false; } }..
문제 입국 심사 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(n, times) { var answer = 0; return function solution(n, times) { let left = 1; let right = Math.max(...times) * n; // 이진 탐색의 시작과 끝 범위 설정 let answer = 0; while (left a-b); let left = 1; let right = sortedTimes[sortedTimes.length - 1]*n; while(left acc + Math.fl..
문제 베스트앨범 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(genres, plays) { const genreMap = new Map(); genres .map((genre,index) => [genre,plays[index]]) .forEach(([genre,play], index)=>{ const data = genreMap.get(genre) || {total: 0, songs:[]}; genreMap.set(genre,{ total: data.total + play, songs:[...data.songs,{pla..
✔️자료구조와 알고리즘이 중요한 이유 자료구조와 알고리즘이란 무엇일까? 요리에 비유하면 이해하기 쉽다! 떡, 어묵, 소시지 같은 재료는 데이터 칼, 프라이팬 등의 도구는 자료구조 레시피는 알고리즘이 된다. 완성된 요리는 소프트웨어 요리를 먹는 손님은 소프트웨어 이용자이다~🍴 자료구조 메모리를 효율적으로 사용하며 빠르고 안정적으로 데이터를 처리하는 것이 목표로 특정 구조를 이룬다. 상황에 맞는 자료구조 선택은 필수! ex) stack, queue, graph, tree 알고리즘 특정 문제를 효율적이고 빠르게 해결하는 것이 목표로 정해진 일련의 절차나 방법을 공식화한 형태로 표현한 것이다. ex) Binary Search, Shortest Path 이러한 자료구조와 알고리즘은 왜 중요할까? 실무에서 중요한 ..
공부한 내용 & 체감 난이도 JavaScript와 프론트엔드 개발⭐ 변수, 상수, 자료형 그리고 메모리⭐ 메모리 심화⭐⭐ 표현식과 연산자⭐ 흐름 제어⭐ 배열과 객체⭐ 스코프와 클로저 ⭐⭐⭐ 새롭게 공부한 내용 깊게 공부하고 싶은 내용 느낀점 첫날이기 때문에 기존에 알고 있던 내용을 복습하는 마음으로 임했던 거 같다. 그러다 스코프와 클로저가 나오니까 난이도가 올라간 느낌이었다. 이제 정말 시작이구나하는 느낌이 들었던 거 같다. 캠을 키고 공부하는 시간이 정해져 있다보니 집중력도 올라가고 계속 공부하게 되는 거 같다. 모르는 내용에 대해 더 심도있게 스스로 공부하는 습관이 생길 것 같아 좋았다.
문제 올바른 괄호 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(s){ let stackCount =0; for (let i of s){ //문자열 각 문자 분석(인덱스 접근 보다 효율성 올라감) if(i == "("){stackCount+=1;} else{stackCount-=1;} // i==="(" ? stackCount++ : stackCount--; if(stackCount < 0){return false;} } if(stackCount!=0){return false;} else {return true;} //co..