목록Java (49)
복's
취미로 복싱장을 다니는데 복싱장 형님들과 디스코드에 매번 운동 일지를 작성하기로 했다.매번 일지를 작성하는데 복싱 뿐만 아니라 러닝이나 다른 운동도 하고, 매번 다르게 작성하거나 필요한 템플릿을 복사해서 붙여넣는게 귀찮아지기 시작하면서 좋은 방법이 없을까 생각 하다가 집에 마침 놀고있는 홈 서버 전용으로 구매했었던 미니 PC 가 생각나서 시작하게 되었다. 나는 운동이 끝나면 바로바로 작성하고 싶어서 모바일로 보이는 모습도 중요했기 때문에 처음에는 Flutter 나 React Native 도 생각 했었는데, 당장 사용할 기능을 만드는게 먼저인데 MVP 달성을 고려했을 때 러닝 커브가 심해서 할 줄 아는 JSP 를 사용했다. (필요하면 PWA 로 말아서...) 개발기간: 2025.10.22 ~ 2025.11..
슬슬 프로그래머스 LV2 문제 다 풀었지 싶어서 확인 했더니 아직도 52문제나 안풀었다...LV3 넘어가긴 해야하는데, 지금도 간간히 풀긴 하지만 주로 푸는 문제는 LV2 라서 고민이 있다.스터디 인원들이 슬슬 고착화 되면서 난이도는 계속해서 올라가는 기분은 들어서 문제 난이도가 올라간다고 쉽게 스터디가 와해되지는 않을 것 같은 느낌적인 느낌?LV2 - 지게차와 크레인 G2 - 칵테일 G5 - 1로 만들기 2칵테일 문제는 개인적으로 조금 오랫동안 고생하고 결국 다른 풀이도 참조해서 풀었다 ㅎㅎ..[ 📌 내 문제 풀이 with Java ]👉 지게차와 크레인그래프 문제인데 백준의 치즈나 빙산 같은 문제와 유사한 풀이이다.삭제해야하는 노드를 바로 삭제하면 동작중인 로직에 영향을 주기 때문에 따로 저장 했다..
참여율도 좋았고, 문제들이 비교적 최근에 나온 문제들이어서 조금 더 재미가 있다고 생각 했던 한 주 스터디 회고 LV2 서버증설 횟수 - 프로그래머스LV2 비밀 코드 해독 - 프로그래머스LV3 입국 심사 - 프로그래머스그리고 문제 유형도 겹치지는 않아서 낫 배드[ 📌 내 문제 풀이 with Java ]👉 서버증설 횟수 단순한 구현 문제로 서버의 증설이 필요한 경우 추가, 서버 시간이 다 되면 감소라는 간단한 로직을 구현 하면 된다.나는 먼저 증설된 서버들이 가장 먼저 시간이 되기 때문에 자료구조 Queue 를 사용해서 순차적으로 시간이 된 서버들을 제거 해주도록 하였다./** * Author : Lee In Bok * Date : 2025.02.17(Mon) * Runtime : 5..
공채 시즌이라 그런가 조금은 덜 활발해진 느낌의 스터디 34 주차 회고G2 보석 도둑 - 백준G4 여행가자 - 백준LV2 n 진수 게임 - 프로그래머스문제 유형은 그래도 다양하게 출제되어서 나름 괜찮은 한 주 였다.[ 📌 내 문제 풀이 with Java ]👉 보석 도둑우선순위 큐를 이용해서 문제를 풀었는데, 분류는 확인하지 않았지만 아마도 그리디 문제일 것 같다. (일단 추측해버리기)문제를 풀기 전에 가장 먼저 생각 했던건 가장 작은 가방 부터 가장 가치가 높은 보석을 담자 였다.그래서 보석은 무게가 가벼운 순서로, 가방은 사이즈가 작은 순서로 정렬한 상태로 문제를 풀이 하였고, 가장 작은 보석부터 탐색하면서 가치가 큰 보석이 버려지지 않도록 임시 가방(tempbag) 에는 높은 가치 기준으로 정렬을..
DP 가 두 문제 출제 되었는데, 한 문제는 나에게 정말 어려웠다...매 주 DP 문제가 한 문제는 출제 되었으면 연습에 정말 좋을 것 같은데, 아직도 못 푸는 문제가 많으니 할게 너무 많구나 🤣 스터디원들이 바빠져서 그런지 조금 지친 모습이 보이는 것 같다. (나 포함)새롭게 또 충원 해야 하는지 고민이다.그리고 어떻게 하면 코드 리뷰가 활발한 스터디를 만들 수 있을까...흠[ 📌 내 문제 풀이 with Java ]👉 사전 나는 개인적으로 점화식 도출 까지는 어렵지 않았는데 풀지 못했다. -> ?????findStr() 메소드의 역할을 만들어내지 못해서 dp 배열의 값만 채워넣은 셈이다. 결국 다른 사람의 풀이를 참조해서 문제를 풀었다.ex) N, M 이 2 2 라는 입력이 주워졌을 때aazzaz..
평일에 스케줄이 가득해서 멘토링과 과제 그리고 운동만으로도 알고리즘 문제 풀이 시간을 별도로 만들기 쉽지 않아서 주말에 몰아서 문제를 풀었다. 문제를 몰아서 풀다보니 코드 리뷰를 할 시간이 많이 부족해지고, 한 문제에 시간을 오래 소모하면 다른 문제에 시간을 많이 할당 못하기 때문에 부담이 되는 것 같다. 이번에 출제된 문제[G2] 인간 대포 (백준)[G5] 치킨 배달 (백준) [LV2] 멀쩡한 사각형 (프로그래머스)[ 📌 내 문제 풀이 with Java ]👉 인간 대포 다익스트라 알고리즘을 이용해서 문제를 풀이 하였는데, 코드를 살펴보면 다익스트라 로직 자체는 정말 심플하다.나는 계산기로 수소점 계산하면서 문제가 생기는 부분을 디버깅 하는 시간을 많이 사용했다. 문제를 풀이 하다가 문제가 되었던 부..
2025 년 첫 스터디 입니다.연말과 연초는 항상 바쁘기 때문에 대부분의 스터디 인원이 바쁜 개인 일정 소화하느라 힘들어 보이네요... (나 포함) 이번에 출제된 문제는 아래와 같습니다.[LV2] 행렬 테두리 회전하기 (프로그래머스)[G5] 마법사 상어와 비바라기 (백준) [LV3] 이중우선순위큐 (프로그래머스)[ 📌 내 문제 풀이 with Java ]👉 행렬 테두리 회전하기 사실 이전에 Python 으로 문제 풀이를 한 적이 있는 문제 였기도 하고, 기억은 안나지만 어느정도 감은 있었던 문제 였습니다.결국 배열의 좌표를 이동하면서 요구를 수행하는 방법으로 구현하면 문제가 쉽게 풀렸습니다. 조금 고민 되었던 점은 rotate() 수행할 때 방향을 바꾸는 코드를 하나의 코드로 묶고 싶어서 고민한 부분은..
https://school.programmers.co.kr/learn/courses/30/lessons/72412 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이는 성공 했지만 코딩 테스트에 적합한 풀이인가 의문이 많이 들었다.나의 경우 구현에 시간이 오래 걸렸기 때문에 시간내에 풀 수 있는 조금 더 간단한 방법을 사용했어야 하지 않았을까 싶다.그 방법들도 생각은 해봤으니 아래에서 공유 하는걸로 하겠다. 나는 문제를 풀이할 때 Trie(트라이), BFS(너비 우선 탐색), Binary Search(이분 탐색) 3 가지 방법을 사용했다.다른 사람들의 풀이를 보고 보완하거나 더 괜찮은 풀이를 찾으려..
[ 📌 서론 ]TDD 를 공부한 흔적은 남아 있지만 실무에서 사용하지 않았고, 지금도 적용하지 않고 업무를 하는 중이다.많은 핑계를 가지고 미루고 있지만 프로젝트의 볼륨 사이즈가 커지면 커질수록 TDD 없는 주먹구구식 구현 위주의 프로젝트의 힘을 몸소 체험하고 있다. 단위 테스트와 통합 테스트 조차 개념적으로는 알고 있어도 막상 과제를 받았을 때에는 개념만으로는 손이 쉽게 움직이지 않았고, 코드와 함께 보면서 차근차근 밑에서 부터 시작할 필요가 있다고 느꼈다. 이 책을 읽으면서 코드를 많이 타이핑 했냐고 한다면, 그건 아니었다.책에 모든 코드는 제공 되지만 내 기준에서 따라서 치는게 시간이 아깝다고 생각이 들어서 읽고 개념을 습득하는데 더 집중 했던거 같은데, 왜 개념만 알기 때문에 부족함을 느꼈다고 ..
https://www.acmicpc.net/problem/1074 [ 📌 서론 ]내가 마지막에 이 문제를 풀었을 때에는 Silver 1 이었는데, 언제 난이도가 상승 했다.나는 재귀 함수를 설계하는게 이상하게 어려워서 이런 문제로 연습을 많이 했는데, 오랜만에 다시 풀게 되었다.예전 풀이와 비교 했을 때 더 좋아진걸 보니 성장 했음을 느낀다. 풀이 과정에서도 과거에 이 문제를 처음 접했을 때는 문제 접근이 막막 했었고, 풀이도 정말 오래 걸렸는데, 성장이 눈에 보이지는 않지만 아주 조오오오금 늘었다고 생각해도 되지 않을까..?[ 📌 풀이 ]다양한 풀이가 있겠지만 주어진 2차원 배열이 2^N * 2^N 사이즈를 유지하기 때문에 복잡한 계산 없이 풀 수 있고, 4 개의 사분면으로 나눠서 문제를 풀이 할 ..