[JS|Queue, 구현] 프로그래머스 118667번. 두 큐 합 같게 만들기
·
💾 자료구조 & 알고리즘/문제 풀이
1. 입력과 출력입력길이가 같은 두 개의 큐를 나타내는 정수 배열 queue1, queue2 ( 1 ≤ queue1 = queue2 ≤ 300,000 )출력각 큐의 원소 합이 같게 만들기 위해 필요한 작업의 최소 횟수 return : count || -1(원소 합이 같아지지 않을 경우) 2. 문제 풀이 로직문제를 보자마자 생각난 방법은 투포인트였고, 실제로 가능한 것인지 일단 감을 잡기 위해 큐를 움직여보았다. push/pop을 실제로 구현할 지 아니면 push/pop이 된 것처럼 구현(투포인트, 슬라이딩 윈도우)을 할 것인지에 대해 정하기 위해서였다. 여러 테스트케이스들 중 일단 첫 번째 테스트케이스를 두고 진행해보았다. 사용한 테스트 케이스queue1 : [3, 2, 7, 2] => 14점queue..
[국취제|개발자 취업 일기] 청년층직업지도프로그램(CAP+/CAP@) 후기
·
📝 후기 및 회고록
해당 포스트는 청년층직업지도프로그램(CAP+/CAP@)에 대해 궁금하신 분들을 위해 4일차 과정을 간단하게 요약한 후기글입니다! [챕터 0. CAP@ 신청까지...!]  시작은 2월 어느날...! 코테합 스터디를 같이 했던 팀원들의 추천으로 국취제를 신청할 수 있었다. (감사합니다 녀러분 체고) 다행히 1유형 '요건심사형'으로 선발되었고, 1회차 구직촉진수당 50만원을 받았다. 이제 2회차부터 본격적인 활동을 시작해야하는데... 어떤 걸 할까 하다가 남양주고용복지센터에서 청년층을 대상으로 하는 집단상담 프로그램이 있다고 하여 바로 신청하였다.  심지어 구직활동 2회로 인정해준다고 해서 고민도 없이 신청하게 되었다. 상담심리학과에 재학 중일 때 '집단 상담' 과목을 수강하였을 때, 그리고 학과 내 활동으로..
[JS|정렬] 프로그래머스 62050번. 지형이동 (프림 알고리즘, 크루스칼 알고리즘)
·
💾 자료구조 & 알고리즘/문제 풀이
1. 입력과 출력입력N x N 크기의 2차원 배열 land ( 4 ≤ N ≤ 300 ) : 원소는 각 칸의 높이를 나타냄칸끼리 이동 가능한 최대 높이 차 height ( 1 ≤ height ≤ 10,000 )출력모든 칸을 방문하기 위해 필요한 사다리 설치 비용의 최솟값 return : answer 2. 문제 풀이 로직문제를 읽고 어떻게 풀까.. 고민하다가 이동 가능한 그룹이 나뉘어져 있고, 사다리를 놓아서 최소 비용으로 모든 칸을 돌 수 있어야하기 때문에 가장 중요한 것은 '어떻게 이동 가능한 그룹을 나눌것인가'와 '어떻게 최소 비용으로 사다리를 놓을 수 있을까?'였다.먼저 이동 가능한 그룹을 나누기 위해서는 BFS로 인접한 상하좌우로 살펴보며 움직일 수 있는 칸인지 확인하는 과정을 거치며 사다리 없이도..
[JS 톺아보기] Javascript에서 module이란? 모듈 시스템의 비교까지(CommonJS, AMD, UMD, ESM) (with. 모던 JS Deep Dive)
·
📝 공부 기록/Javascript
모던 자바스크립트 Deep Dive 48.2 자바스크립트와 모듈 & 48.3 ES6 모듈(ESM) (P. 894)“(…생략) 이로써 자바스크립트의 모듈 시스템은 크게 CommonJS와 AMD 진영으로 나뉘게 되었고 브라우저 환경에서 모듈을 사용하기 위해서는 CommonJS 또는 AMD를 구현한 모듈 로더 라이브러리를 사용해야 하는 상황이 되었다. (…생략) 이러한 상황에서 ES6에서는 클라이언트 사이드 자바스크립트에서도 동작하는 모듈 기능을 추가했다.” 모던 자바스크립트 Deep Dive 교재에 따르면, 자바스크립트의 모듈 시스템은 CommonJS와 AMD이 먼저 등장하여 사용되어왔었고, 뒤이어 ES6에서 Module 기능이 추가된 것을 알 수 있다. CommonJS와 AMD 방법에 대해서는 자세히 나와..
[JS|알고리즘] 자바스크립트(javascript)의 정렬 알고리즘(Sorting Algorithm) 8개 알아보기
·
💾 자료구조 & 알고리즘/이론 정리
먼저! 하나하나 알아보기에 앞서서 알면 좋은 '배열'과 '정렬' 세상 속 복잡한 문제들을 풀기 위해서 프로그래밍 언어들은 다양한 자료구조들을 사용하고 있다. 그 중에서 '자료구조'하면 가장 먼저 배우게 되는 '배열'을 다루는 정렬 알고리즘에 대해 알아보려고 한다. 정렬 알고리즘은 왜 필요할까? 이는 곧 배열을 왜 사용하냐는 질문에 같은 답변을 줄 수 있을 것이다. 배열은 필요한 요소를 인덱스를 통해 찾기 위해 사용한다. 그렇다면 자료구조 배열을 사용할 때 가장 중요한 것은 필요한 요소의 인덱스를 바로 찾아내는 것이며, 당연하게도 뒤죽박죽 엉켜있는 배열보다는 특정 기준에 맞춰서 정렬되어있는 배열을 만들어놓는다면 이를 사용하기에는 훨씬 더 편할 것이다.  그렇다면 앞으로 알아볼 정렬 알고리즘은 '왜' 여러..
[FE 개발기] 폴더 구조를 정해보자! (FSD, 초기 설정편)
·
💻 개발 기록/Sring, 스터디 모집 및 관리 기능 통합 서비스
어느덧 프로젝트 MVP 개발을 위한 최소한의 기능들과 디자인 적용 단계 전의 와이어프레임이 다 나왔고,본격적인 구현에 앞서 정해야 할 것들 총 8520159개 중 이번에 정해야 할 주제는 바로바로 '폴더 구조'이다.  이번 포스트에서는 어떤 폴더 구조를 어떠한 과정을 통해 정하게 되었는지 그 과정을 다뤄보려고 한다. 함께 정리해 온 기능 설계서와 디자이너분이 작업해주신 와이어프레임을 쭈욱 살펴보면서 폴더 구조를 어떻게 나눠야 할까.. 고민 중에! FE 개발 팀원이자 스승님인 메타몽님에게서 메세지가 왔다   그렇다! 옛날에 폴더 구조를 찾아봐놓고 까먹고있었던 FSD 아키텍처를 선생님 덕분에 다시 끄집어 올 수 있었다. 개인 프로젝트가 아니라 대규모, 회사의 프로젝트 경우 회사에서 정해진 폴더구조를 이해하고..
[JS|백트래킹] 프로그래머스 92342번. 양궁대회
·
💾 자료구조 & 알고리즘/문제 풀이
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 입력과 출력입력화살 개수 N (N은 자연수, 1 ≤ N ≤ 10)어피치의 점수표 배열 info (고정 length : 11)출력라이언이 우승한다면, 라이언의 점수표 배열 (answer) 배열의 조건 확인하기!( 1 ≤ 배열의 원소값 ≤ N) : 한 과녁에 0~N발 쏠 수 있다.( ∑ 배열의 원소값 = N ) : 총 N발의 화살을 쏜다.가장 큰 점수 차이로 우승할 경우의 점수표 배열을 반환해야 한다.같은 점수 차이라면, 낮은 과녁(점수)을 더 많이 맞힌 경우의 점수표 배열을 반환해야 한다.라이언이 우승하지 못한다면, [-1] 반환 2. 문제 풀이 로직다..
[JS|알고리즘] 자바스크립트(javascript)의 백트래킹(Backtracking) 알아보기
·
💾 자료구조 & 알고리즘/이론 정리
백트래킹?Back + Tracking, 합성어인만큼 각 단어에 대해 감을 잡아보려고 한다. Tracking : 따라가다. 추적하다'tracking'이라는 단어를 보면 마블 시네마틱 유니버스의 내 등장인물 욘두가 생각난다..!?   괴물(목표)을 잡기 위해 가장 최적화된 경로를 따라 이동하는 화살의 이미지가 바로 Tracking인 것 같다.다시 말해서, 'Tracking'이란 목표를 향해 특정 경로를 따라서 가는 것이라고 볼 수 있으며,이는 곧 탐색용 알고리즘의 특징과도 같다고 생각하였다.이 전 포스트들에서도 알아봤었던, 그래프 탐색 알고리즘들과의 비교를 해보려고 한다.  [JS|알고리즘] 자바스크립트(javascript)의 DFS/BFS(그래프 탐색 순회) 알아보기그래프에서 경로를 탐색할 때 대표적으로..
[회고] 지극히도 개인적인 얘기가 가득한 2024년 연말 회고
·
📝 후기 및 회고록
얼마 전, 2024년 12월 20일.올해 가장 많은 활동을 함께 한 '소규모 회고 중심 모임'인 [츄라이]에서 2024년 연말 회고 모임을 가졌다.어쩌면 그 누구보다 나를 잘 알고 있을 츄라이 멤버분들과 가졌던 연말모임은참으로 풍족스럽고 따뜻해서 2024의 매듭을 짓기에 충분하였다. 연말모임에서 가졌던 좋은 기운을 그대로 가져와 블로그에도 기록해보려고 한다!앞으로의 연말 회고 양식은 츄라이에서 했던 연말회고용 템플릿에서 가져와보았다. 1. 카테고리별 회고① 건강 - 정신적 건강 : 그 어느 때보다 '회고'를 가장 많이 한 해이다. 그 전까지만 해도 항상 생각만 가득한 채로 정리가 잘 되지 않아서 내가 나의 생각에 잡아 먹히기도 하고, 그야말로 혼란의 하루들을 보냈었다. 하지만 2024년 3월부터 [츄..
[JS 톺아보기] 실행 컨텍스트와 함께 알아본 '스코프 체인' (with. 모던 JS Deep Dive)
·
📝 공부 기록/Javascript
해당 시리즈는 [Deep Dive] 스터디의 발표 내용으로, [모던 자바스크립트 Deep Dive]의 일부를 발췌하여 작성하였습니다. 모던 자바스크립트 Deep Dive 13.3 스코프 체인 (p.195)“스코프 체인은 물리적인 실체로 존재한다. 자바스크립트 엔진은 코드(전역 코드와 함수 코드)를 실행하기에 앞서 위 그림과 유사한 자료구조인 렉시컬 환경(Lexical Environment)를 실제로 생성한다. 변수 선언이 실행되면 변수 식별자가 이 자료구조(렉시컬 환경)에 키로 등록되고, 변수 할당이 일어나면 이 자료구조의 변수 식별자에 해당하는 값을 변경한다. 변수의 검색도 이 자료구조 상에서 이뤄진다.” 딥다이브 교재에 따르면,자바스크립트는 렉시컬 스코프(정적 스코프)의 방식을 따르므로함수 정의가..