✅ 문제 - [백준] 별자리 만들기 (4386번) ✅ 필요 알고리즘 개념 - 프림 알고리즘 ( Prim's Alghrithm )🎯 프림 알고리즘 ( Prim's Alghrithm ) 이란?프림 알고리즘이란 MST ( Minimum Spanning Tree , 최소 신장 트리 )를 찾는 방법 중 시작 노드부터 시작하여 방문한 노드 중 cost가 가장 적은 경로를 선택해 가며 최소 신장 트리를 만드는 일종의 그리디 알고리즘이다.그리디 알고리즘의 경우 순간의 최선의 선택이 결과적으로 최선의 선택임을 증명해야 하는데 MST를 푸는 알고리즘 중 프림(Prim's) 알고리즘과 크루스칼(Kruskal) 알고리즘은 증명이 된 그리디 알고리즘이므로 해결 가능함이 이미 증명이 된 알고리즘이다. 🎯 프림 알고리즘 ..
SSAFY 코딩테스트와 정보처리기사 시험 후에 드디어 프로젝트에 집중할 수 있는 시간이 생겼다. Nest.js를 처음 접하게 돼 "왜?" Nest.js를 사용하는지 그리고 어떤 구조를 가졌는지 이해하는데 많은 시간이 걸렸다. 그리고 처음 ERD를 그려가며 DB 구조도 설계해 보았는데 마찬가지로 만만치 않은 작업이었다. Table을 나누는 경우 어떤 이득이 있고 어떤 손해가 있는지. 그리고 이게 어떤 정규화인지 생각해 가며 DB구조를 설계하려고 하니 처음 해보는 입장에서는 너무 신경 쓸게 많았고 계속 바꿔야 할 사항이 많았다. 그리고 이제 열심히 구현해보려고 하는 찰나... 맥북이 고장나다니 ... 수리가 일주일이나 걸린다니... 그래도 여자친구에게 빨리 다른 맥북빌려서 2시간 동안 환경설정 후 바로 작업..
1. Nest.js란? Nest.js는 Node.js의 프레임워크로 Express.js와 fastify 기반으로 만들어져 있어 유사한 부분이 많다. ( 특히 Express.js와 ) 그리고 Typescript를 지원하는 프레임워크로 Server-Side-Application을 만드는데 유용하게 사용된다. 특정 언어나 프레임워크를 이해할 때 강점을 잘 아는 것도 중요하지만 "왜?" 생겨났는지를 잘 알아야 그 언어나 프레임워크를 깊이 이해할 수 있을 것이다. 다음은 Nest.js 공식 홈페이지의 Nest.js의 철학이다. 2. Nest.js의 철학 즉 Nest.js는 다른 언어들의 효율적인 면들을 그대로 가져오면서 테스팅 가능하며, 확장이 용이하고, 결합도가 적고, 유지 보수가 쉬운 애플리케이션을 만들기 위..
5월 21일 SSAFY 전공자 코딩테스트를 봤다. ! 시험은 11시 라는데 10시 부터 접속해서 시험 환경설정 검사를 진행했다. 11시에 본격적인 시험 시작 !!! 소프트웨어 마에스트로는 프로그래머스로 봤고 안에 필요한 함수를 구하는 코테였다면 SSAFY 코테는 백준 유형들과 흡사했다. 문제는 2문제 시간은 80분 ! 난이도는 쉬운 편이었다. 하나는 실3 하나는 골5? 정도의 난이도로 어렵지 않은 난이도였다. 소프트웨어 마에스트로 과정은 최종면접에서 탈락했는데 ... SSAFY 는 통과했으면 좋겠다 !!
💻문제 5문제 ( 알고리즘 4문제 + SQL 1문제 ) 1. 구현 - 난이도(실버) 2. 그리디 - 난이도(골드5) - ( 도형을 이용한 구현 문제였습니다 ) 3. 구현 - 난이도(골드4) 4. 다익스트라 - 난이도(골드1 이상 ... ? ) - ( 제약 조건이 많은 다익스트라 알고리즘이었습니다. ) 5. SQL : UNION 개념을 물어보는 문제였습니다. 👍후기 그래도 백준 플레티넘까지 공부한 보람이 있었다. 1,3,5번 문제는 풀만 했던 것 같다. 1번은 못 풀면 불합격이라고 생각이 들 정도로 쉬운 문제였고 3번은 살짝 까다로웠습니다. 5번 ( SQL )의 경우 처음엔 Outer Join으로 푸는 문제인 줄 알았으나, SELECT * 를 통해 전체 데이터를 출력해 보니 오류가 있다는 것을 알아냈다. ..
✅문제 - [백준] 타임머신 (11657번) ✅필요 알고리즘 개념 - Bellaman-Ford Algorithm🔵 Bellman-Ford AlgorithmBellman-Ford 알고리즘은 한 node 에서 다른 모든 node 들로 가는 최단 거리를 구하는 알고리즘이다. 🔵 Bellman-Ford Algorithm 와 Dijkstra Algorithm의 차이1. Dijkstra Algorithm는 음의 가중치를 갖지 않는 상황에서 사용한다.이때 순간순간 가중치가 가장 작은 간선을 선택하는 것이 최단거리를 보장하므로 Greedy와 Priority Que를 이용하여 구현할 수 있다. 2. Bellman Ford Algorithm은 음의 가중치를 갖는 상황에서 사용한다.이때는 가중치가 가장 작은 간선을 ..