
😂 문제점 JUnit 를 이론적으로만 공부하는 것은 한계가 있다고 생각이 늘었고 막상 프로젝트의 일부분을 따와서 적용해보려 시도하니 예상하지 못하는 예외가 너무 많이 발생했다. JUnit를 중점적으로 연습하기 위해 간단하게 새 프로젝트를 생성하고 사용해보자. 프로

이번 문제를 풀때 가장 중요한 부분은 순환 구조이다.문제에서 주어지는 순환선을 그래프로 표현 했을 경우 cycle이 된다고 생각했다.하지만 모든 정점을 전부 하나씩 탐색해서 시작 지점으로 돌아온다면 시간복잡도에서 옳지 못한 결과를 낼 것 같아서 한번 사이클에 포함된

고슴도치는 현재 있는 칸과 입전한 네 칸 중 하나로 이동할 수 있다.\-> 동 서 남 북 으로 좌표 이동이 가능하다고 해석 했다.물도 매분마다 비어있는 칸으로 확장한다.\-> 물도 동 서 남 북 좌표 이동이 가능하다.최소 시간을 구하는 프로그램\->최단거리 (다익스트라

🔍 문제 📌 입력 📌 출력 💻 제출 🤔 문제 풀이 해당 문제를 풀때 몇 가지의 단서가 존재한다. 
문제에서 얻을 수 있는 힌트는 모두 주워 담아보자."정점간의 간선은 두 집하장간에 화물 이동이 가능함" 이라는 뜻은 간선간의 방향성이 없이 양방향으로 이동 및 접근이 가능하다는 뜻이다."최단 경로" 해당 문제는 주어진 그림 및 1의 과정에서 그래프 문제 라는 것을 알

🤔 시작하기전... 헥사고날 아키텍처, DDD 패턴을 참고하여 프로젝트를 진행했던 경험이 있다. 당시 기존의 MVC패턴에서 DDD패턴을 사용하자는 의견이 나와서 팀원들 전체가 시도 및 적용 했었는데 잘 알지 못하고 사용했던 것 같다. 아키텍처와 패턴을 완벽하게 구

직무 면접을 보는 자리에서 JWK라는 단어에 대해서 처음 들어봤다. JWK(Json Web Key)는 JSON을 형태로 암호화키를 나타내는 데이터 구조 이다. JWK를 공부하던 도중 문득 기존 개념인 대칭키와 비대칭키에 대해서 한번 더 정리 해보자는 생각이 들었다.

처음에는 주어진 N의 값이 200 이하 이기 때문에 floyd로 풀려고 접근 했었다.floyd 알고리즘은 시간복잡도가 O(n^3)이기 때문에 정점의 개수 N이 작다면 시도 해볼만 하다고 생각했다.하지만 이번문제에서는 상하좌우 로만 이동이 가능하다는 조건이 있었기에 단순

🔍 문제 📌 입력 📌 출력 🤔 문제풀이 해당 문제를 읽었을때 다양한 풀이 방법을 생각했었다. 문제를 해결하기 위해서는 cycle에 들어가지 않는 즉 포함되지 않고 존재하는 정점들의 수를 반환 해주면 된다. 1. DFS를 통해 시작점으로 돌아오는지 전체

일단 정점과 연결선을 통해서 푸는 그래프 문제들은 다양한 풀이방법이 많다.그중 최단 거리와 같은 키워드가 존재 하는 경우는 bfs, 다익스트라, 플로이드 등등 을 첫번째로 생각한다.이번 문제는 최단거리 문제가 아니기에 제외 했으며 N의 수가 굉장히 낮아 플로이드 적용

각 아이템의 순서가 일부만 정해져 있으므로 전체의 순서를 한번에 알 수는 없다.일부만 순서가 주어지는 경우에는 위상 정렬 풀이를 제일 먼저 생각할 수 있다.해당 예제 값의 prev item 과 next item을 연결 하면 위와 같은 이미지 처럼 연결 되며 indegr

Java기반의 Spring Boot를 사용하기때문에 Java 프로그래밍 언어를 사용할 줄은 알지만 이해하고 사용하는가에 대해 물어본다면 명확하게 대답 할 수 없다고 생각 한다. 무지는 죄 다. 알아가보도록 하자. 📗 Java String 📌 String 먼저

최근들어 코딩테스트 공부만을 지속 하다 보니 기존에 알고 있던 cs지식 들이 점점 잊혀져 가고 있음을 자각 했다. 이번 글에서는 점점 사라지고있는 spring 및 java에 관련 된 cs에 대해서 작게나마 정리 해 보겠다. 🤔 Spring 이란? 엔터프라이즈용 J

생각해야 할 조건이 몇 가지 존재한다.연속되어 있는 여학생 7명을 선정 해야한다.선정할때 '임도연파'가 4명이상 포함 되어 있을 수 없다.7명의 학생을 선정 할 때는 반복문 을 사용 한 자리 선정 (\[백준 14502 - 연구소] 에서 사용)아래 코드는 연구소 문제 기

트리를 쭉 늘어뜨리기 위해서 어떤 방법이 있을까 생각 해봤는데 가장 큰 지름을 갖기 위해서는 트리의 리프 노드를 두개 잡아야 한다.트리의 리프노드를 확인 하기 위해서는 간선이 1개 연결 되어있는 것을 찾아야 한다.모든 리프 노드를 깊이 우선 탐색 하면서 Depth를 계

해당 문제를 읽었을때 단계를 나누어서 풀어야 할 것 같다고 생각이 들었다.L값에 따라 영역을 분류 하기분류한 영역을 rotate 하면서 값 변동 하기인접한 얼음 영역이 2개 이하면 해당 영역 값 줄여주기주어진 Q값에 따라 1 ~ 3을 반복 하기L값이 오름차순으로 진행

학교 생활을 하면서 프로젝트에 대부분의 시간을 쏟았기 때문에 코딩테스트는 손을 대지 않았었다.코딩테스트라는 것에 대해 부정적인 생각도 가지고 있었기 때문에 더 멀리 했던 것 같다.프로젝트만 으로 충분히 경쟁력을 가질 수 있을 것 이라고 생각 했는데 코딩테스트를 손도 대
문제에 생각보다 고려 할 점이 많다.상어는 본인보다 작은 물고기 만 먹을 수 있고 자신의 level보다 큰 물고기 영역에는 접근 할 수 없다.이동 할 때는 빈 공간 과 자신과 level이 동일 하거나 낮은 영역으로 이동 해야 한다.또한 동일한 거리에 물고기가 존재 한다

문제에 나와있는 테스트 예제만 보고 DFS로 풀이 하려고 시도 했다.하지만 허를 찌르는 반례가 하나 있었고 DFS로는 풀이하기 어지러워서 BFS로 급하게 노선을 틀었다.비슷한 문제가 하나 더 있었는데 그때 코드와 크게 다르지는 않다.첫째 줄에는 모눈종이의 크기를 나타내

첫 줄에 test case의 수 T가 주어진다. 다음 T줄에 걸쳐 각 줄에 1쌍씩 네 자리 소수가 주어진다.각 test case에 대해 두 소수 사이의 변환에 필요한 최소 회수를 출력한다. 불가능한 경우 Impossible을 출력한다.해당 문제를 봤을 때 4자리 수에