본문 바로가기

전체 글

(22)
[프로그래머스] 그래프/BFS - 가장 먼 노드 문제풀이 (Javascript) 위 문제 설명에 노드와 간선으로 보고 그래프 문제인 것을 알 수 있다. 핵심 키워드는 "노드", "간선", "최단 경로" 최단 경로가 제일 큰 경우의 집합의 수를 구하는 문제이다 [자료구조] 그래프 노드와 간선으로 이루어진 자료구조 문제 풀이는 노드의 너비를 탐색하여 푸는 문제이기 때문에 BFS 풀이 방식 Queue를 이용해서 풀 수 있다. Queue 를 풀 때 간단하게 Array 형식으로 만들어 Shift를 사용하여 만들 수 있지만 많은 데이터를 테스트 케이스로 이용할 때 시간이 오래 걸린다는 단점이 있다. 따라서 Queue 클래스를 만들어 dequeue방식을 사용하자. Queue 클래스는 구현하기 간단하기 때문에 생각해서 자주 사용하는 것이 좋다. const graph = Array.from(Arra..
[프로그래머스] 자바스크립트 - 정렬 문제 풀이 (K번째수,가장 큰 수,H-Index) 문제 1. K번째 수 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 1. array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 2. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 3. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한 사항 - arra..
[프로그래머스] 이분탐색 > 입국심사 (Javascript) 풀이 | 문제 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 명만 심사를 할 수 있습니다. 가장 앞에 서 있는 사람은 비어 있는 심사대로 가서 심사를 받을 수 있습니다. 하지만 더 빨리 끝나는 심사대가 있으면 기다렸다가 그곳으로 가서 심사를 받을 수도 있습니다. 모든 사람이 심사를 받는데 걸리는 시간을 최소로 하고 싶습니다. 입국심사를 기다리는 사람 수 n, 각 심사관이 한 명을 심사하는데 걸리는 시간이 담긴 배열 times가 매개변수로 주어질 때, 모든 사람이 심사를 받는데 걸리는 시간의 최솟값을 return 하도록 solution 함수를 작성해주세요. | 제한사항 입국심..
Javascript - 배열 map(), reduce() 사용법 배열 map과 reduce를 알아두면 다양한 곳에서 코딩할 때 활용할 수 있다. 오늘은 이 둘에 대해 공부해보자! Map 함수 map 함수는 callbackFunction을 실행한 결과를 가지고 새로운 배열을 만들 때 사용한다. 배열.map((요소, 인덱스, 배열)=>{return 요소 }); 기본 원리는 간단하다. 반복문을 돌며 배열안의 요소들을 1대1로 짝지어주는 것! 매핑한다고 표현한다 fileter, forEach와 같은 구문이다 예시를 통해 Map 함수를 배워보자 1. 배열의 값에 x5를 한 배열을 생성해보자. let arr = [6,4,2,8]; let result = arr.map(item=>item*5) .sort((a,b)=>a-b); console.log(result); ///[10, ..
[자료구조/알고리즘 기초] Ch 11. 트라이 트라이 문자열을 저장하고 효율적으로 '탐색'하기 위한 트리 형태의 자료구조 트라이의 특징 1. 검색어 자동완성, 사전 찾기 등에 응용될 수 있다. 2. 문자열을 탐색할 때 단순하게 비교하는 것보다 효율적으로 찾을 수 있다. 3. L 이 문자열의 길이일 떄, 삽입은 O(L)만큼 걸린다. 4. 대신 각 정점이 자식에 대한 링크를 전부 가지고 있기에 저장 공간을 더 많이 사용한다. 트라이 구조 1. 루트는 비어있다 2. 각 간선 (링크)은 추가될 문자 키로 가진다. 3. 각 정점은 이전 정점의 값 + 간선의 키를 값으로 가진다. 4. 해시테이블과 연결리스트를 사용하여 구할 수 있다.
2022년 정보처리기사 필기 합격 _ 1주일 공부 방법 정보처리기사 시험이 끝이 났다. 얼른 잊어버리기 전에 공부 방법을 기록해보자 한다. 결과는 필기 합격 룰루랄라~!!!! | 필기 공부 준비 1. 2022 시나공 필기 책 구입 정보처리기사 공부 정석인 시나공 교재를 구입했다. 기출문제와 각 과목별 문제 등 다양하게 제공하여 시험공부에 도움이 컸다. 2. 요약본 활용 정보처리기사 필기는 양이 너무 많아 다 완벽하게 보기에는 일주일이라는 시간이 조금 부족했다. 그래서 우선 요약본 위주로 공부했다. 정처기 요약본은 https://m.blog.naver.com/ttao00730/222200909835 이 블로그에서 제공하는 요약본을 참고했다. 요약본은 시나공 정보처리기사에서 출제 빈도가 높은 A위주로 정리되어있다. 거기에 부족한 내용과 자주 출제되는 문제를 추가..