[프로그래머스|JAVA] 주차 요금 계산 | TreeMap과 Map.merge 활용 🚗 | 시간 계산 아이디어 & 코드 분석 📚
·
💻코딩/💡Programmers
더보기정말 오랜만에 왔습니다.. 반성합니다.. [문제 링크] 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr [문제] 📍 [코드]// 맵 사용 (번호, 시간)// 시간 * 60 후 계산import java.util.*;class Solution { int pullTime = (23 * 60) + 59; // 23시 59분 public int[] solution(int[] fees, String[] records) { Map chargeMap = new TreeMap(); // 차량 번호 순 정렬 가능 for(String r : records) ..
[SpringBoot] 공통 응답 객체 설계하기 🔍 | 실제 예시 ⭕️ | ErrorCode, ApiResponse, ResponseCode
·
✏️공부/💡SpringBoot
🔍 공통 응답 객체 설계하기: ErrorCode, ApiResponse, ResponseCode1. 공통 응답 객체란?API 서버에서 클라이언트로 응답을 줄 때, 일관된 형식으로 전달하는 것이 중요 ⭐️예를 들어, 어떤 API는 { data: ... }만 반환하고, 또 다른 API는 { result: ... } 형식으로 반환한다면 클라이언트 입장에서 처리하기가 복잡해짐➡️ 이를 해결하기 위해 공통 응답 객체(ApiResponse)를 만들어두면, 모든 API 응답이 같은 구조를 갖게 되어 유지보수성과 확장성이 높아짐 ✚ Swagger 작성 시에 진행하면 좋음 2. 공통 응답 객체 설계📍 ApiResponse 클래스API 응답을 표준화하기 위한 공통 응답 객체모든 API가 같은 구조(code, mess..
[JAVA] Lombok & Validation 정리 | 필수 어노테이션 가이드 📖 | @Getter / @Setter | @NoArgsConstructor / @AllArgsConstructor / @RequiredArgsConstructor
·
✏️공부/💡JAVA
📌 Lombok & Validation: 필수 어노테이션 가이드 1. Lombok이란?자바에서 반복적으로 작성해야 하는 보일러플레이트 코드를 어노테이션을 부여하는 것으로 자동 생성해주는 라이브러리보일러플레이트 코드 : 최소한의 변경으로 여러 곳에서 재사용될 수 있는, 반복적이고 비슷한 형태의 코드를 의미getter/setter, toString, equals, 생성자, 빌더 패턴 등을 어노테이션 한 줄로 처리할 수 있음➡️ 주로 Spring Boot + JPA 환경에서 많이 사용2. Lombok 주요 어노테이션✅ @Getter / Setter각 필드에 대한 getter/setter 자동 생성@Getter @Setter public class User { private String name;..
[프로그래머스|JAVA] 롤케이크 자르기 | Set과 Map 사용 ⭕️ | Set 과 Map 특징 및 시간 복잡도 비교 | 실패한 코드도 같이..📚
·
💻코딩/💡Programmers
[문제 링크] 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr [문제] 📍 [코드]import java.util.*;class Solution { // Map → 원소별 개수까지 관리 가능 (사실상 Set + 카운터) // Set 두번 쓸 때보다 시간 복잡도 효율적 public int solution(int[] topping) { int answer = 0; Map right = new HashMap(); Set left = new HashSet(); // 모든 토핑이 오른쪽에 추가 for (int t..
[JAVA] ⚙️ 자료구조 : Heap | 간단 정리 및 삽입•삭제 과정 💬
·
✏️공부/💡JAVA
Heap ⚙️최대 힙 / 최소 힙📌 Heap (힙)완전 이진 트리(Complete Binary Tree) 기반의 자료구조부모 노드와 자식 노드 간의 우선순위 관계를 만족두 가지 종류가 있음:최대 힙(Max Heap): 부모 ≥ 자식 (부모가 항상 가장 큼)최소 힙(Min Heap): 부모 ≤ 자식 (부모가 항상 가장 작음)📌 예시1️⃣ 최대 힙 (Max Heap) 50 / \ 30 20 / \ / \ 15 10 8 16부모 ≥ 자식 규칙 만족 → 루트(50)가 최댓값 2️⃣ 최소 힙 (Min Heap) 5 / \ 10 15 / \ / \ 20 30 25 40부모 ≤ ..
[JAVA] ⚙️ 자료구조 : Tree & Binary Search Tree 🌲 | 트리 순회 | 간단 정리 및 비교 💬
·
✏️공부/💡JAVA
Tree & Binary Search Tree 🌲 트리 순회(전•중•후위 순회), 이진트리 Tree🌳 트리(Tree)계층적(Hierarchical) 자료 구조루트(root) 노드에서 시작해서 여러 개의 자식(child) 으로 뻗어나감각 노드는 0개 이상의 자식을 가질 수 있음사이클(순환)이 없음📌 트리의 기본 용어Root: 최상위 노드Leaf(리프): 자식이 없는 노드Depth(깊이): 루트에서 특정 노드까지의 거리Height(높이): 트리 전체의 깊이 (가장 깊은 리프까지)🌲 트리 순회 4가지DFS 기반 3가지 + BFS 1가지방법설명 순서 예시 (이진 트리 기준)전위 순회 (Preorder)루트 → 왼쪽 → 오른쪽Root → Left → Right중위 순회 (Inorder)왼쪽 → 루트 → 오..