전체 글

코딩하는 블로그
자료구조&알고리즘 - BFS, DFS [Algorithm] DFS 정리 (tistory.com) [Algorithm] DFS 정리 1. DFS란? - DFS 는 깊이 우선 탐색 을 말합니다. - 루트 노드에서 시작하여, 해당 노드들의 자식을 우선적으로 탐색합니다. * 미로찾기로 예시를 들면, 한 방향으로 갈 수 있을 때까지 계속 가다가 aeunhi99.tistory.com [Algorithm] BFS 정리 (tistory.com) [Algorithm] BFS 정리 1. BFS란? - BFS 는 너비우선탐색을 말합니다. - 루트 노드에서 시작하여 인접한 노드를 탐색하는 방법입니다. Q. 너비우선 탐색을 하면 순서가 어떻게 될까요? A. 0 - 1 - 2 - 3 - 4 - 5 -6 1) 특징 - 두 노 ae..
코딩테스트 연습 - 큰 수 만들기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 난이도 : Level 2 풀이 과정 : 제거하려는 수가 k개라면 제거한 후 남는 문자열 길이는 문자열.length - k 이다. 나는 제거하려는 수를 기준으로 안두고 length-k로 만들 수 있는 최대 수를 기준으로 하였다. 제거 하여 가장 큰 수가 되기 위해서는 length-k (제거후 남는 문자열 길이) 가 남는 한에서 처음으로 오는 수가 가장 커야한다. 예를들어 본 예제인 1924에서 가장 처음으로 오는 수는 9..
코딩테스트 연습 - 입국심사 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 난이도 : Level 3 풀이과정 : 맨 처음에 이 문제를 봤을 땐 이걸 이분탐색으로 어떻게 풀어야 될지 감이 안왔는데 그 이유가 나는 n을 기준으로 time의 각 요소에 얼마를 곱해야 되는지 생각을 해서 풀이가 어려웠다. 생각을 반대로 times를 기준으로 계산한 값이 n이 될 수 있을 때를 생각을 해보면 이분탐색으로 풀 수 있구나를 생각할 수 있었다. 그 후 이분 탐색 코드를 작성하다보니 이분탐색을 위해 left = 1이..
코딩테스트 연습 - 가장 큰 수 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 난이도 : Level 2 풀이과정 : 배열을 정렬할 때 compare함수를 어떻게 작성하는가에 대한 문제였다. 처음에는 일일히 경우의 수를 생각해서 해보다가 경우의 수가 너무 많다는 것을 알게됐고 간단한 방법으로 compare함수를 ab > ba 순으로 정렬 할 수 있도록 작성할 수 있었다. 하지만 테케 1개를 통과를 못했는데 도저히 모르겠어서 질문게시판을 보다가 답이 0일때 문자열로 처리되어 0000 이런식으로 출력되어..
💡 실습 문제 - 가장 먼 노드 [프로그래머스] 가장 먼 노드(JavaScirpt) (tistory.com) [프로그래머스] 가장 먼 노드(JavaScirpt) 코딩테스트 연습 - 가장 먼 노드 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 aeunhi99.tistory.com 자료구조&알고리즘 - 트리 1. 트리 - 방향 그래프의 일종으로 정점으로 가르키는 간선이 하나 밖에 없는 구조 1) 용어 Degree(차수) : 한 정점에서 나오는 간선의 개수 Level : 루트부터 리프노드까지 단계(루트가 0,1로 시작하여 커진다) 2) 특징 루트 정점을 제외한 모든 정점은 반드시 ..
코딩테스트 연습 - 가장 먼 노드 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 난이도 : level 3 풀이 과정 : Bfs를 이용해서 푸는 문제였다. bfs만 알면 매우 간단한 문제라 js에서는 큐를 직접 구현하는 것이 핵심이다 풀다가 실수한 부분은 2차원 배열을 초기화 하는 부분에서 배열의 크기를 n+1로 안해서 계속 에러가 났엇다;; 그리고 풀고나서 다른 사람 코드를 보니 filter 함수를 이용해 이쁘게 답을 출력하던데 참고할만한 부분이었다. ps. 근데 그래프문제는 그냥 C++이 편한거 ..
코딩테스트 연습 - 베스트앨범 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 난이도 : Level 3 풀이 과정 : 문제 자체는 별다른 알고리즘 없이 구현하는 문제라고 생각해 난이도가 쉽다고 생각했는데, 거의 1시간을 잡아먹으면서 풀었다.. 나중에 보니 level3문제 이 문제는 주어진 입력을 가지고 적절한 자료구조를 이용해 잘 정렬하여 return 해주면 되는 문제다. 배열을 이용해서 푼다면 전체 순회가 굉장히 많아지기에 성능을 생각하여 해시테이블 자료구조를 이용하였다. 문제를 풀고 남들은 어떻게..
코딩테스트 연습 - 프린터 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 난이도 : Level 2 문제 설명 : 백준 1966번과 매우 유사한 문제다 3달 전에 낑낑대면서 풀었었는데 이번에 다시 푸니까 푸는데 굉장히 오래 걸렸다..😥 이 문제는 문제 해석이 좀 어려울 수 있는데, 문서를 순서대로 출력하는데, 우선순위를 고려해서 문서를 출력해야한다. 문서를 출력하려고 할 때 이 후 우선순위가 더 높은 문서가 있다면 현재 출력해야 하는 문서는! 프린터 큐 뒤에 들어간다. 두번째 입출력 예시를 보면 , ..
자료구조&알고리즘 - 큐 1. 큐 - First In First Out 개념을 가진 선형 자료구조 - Linear Queue와 Circular Queue가 존재함 - EnQueue, Rear, Front, DeQueue 1) Linear Queue 선형 큐 ⓐ Array로 구현 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++; return value; } ..
BeNI
코딩못하는컴공