| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- 티스토리챌린지
- 플로이드-워셜
- 개발자루틴
- 개발자취업
- 데이터베이스
- 알고리즘
- 프로그래밍 언어
- 자바
- 코드트리
- 오블완
- 1일1코테
- 자바스크립트
- Java
- 갭체크
- 코딩테스트사이트추천
- #코드트리 #코딩테스트 #코테공부 #백트래킹 #알고리즘 기초
- 코딩테스트
- 웹
- til
- 자료구조
- 연결 리스트
- 인접 행렬
- 파이썬
- 항해99
- 코테공부
- 운영체제
- C
- 코딩테스트준비
- 99클럽
- 프로그래머스
- Today
- Total
목록2026/03/30 (5)
와드의 블로그
DTO(Data Transfer Object)는 계층 간(Layer-to-Layer) 데이터 교환을 위해 사용하는 객체입니다. 비즈니스 로직을 포함하지 않고 순수하게 데이터만 담고 있어야 하며, 도메인 객체(Entity)를 보호하고 클라이언트 요구사항에 맞는 데이터만 전달하는 핵심적인 역할을 수행합니다.안전하고 유지보수하기 쉬운 DTO를 설계하기 위한 주요 전략들을 정리했습니다.1. 불변 객체와 record 사용DTO는 데이터를 전달하는 '운반체' 역할을 하므로, 전달 과정에서 데이터가 변경되지 않음을 보장하는 불변(Immutable) 객체로 설계하는 것이 가장 이상적입니다. Java 14부터 도입된 record는 이러한 불변 DTO를 만드는데 최적화된 문법입니다.사용하는 이유 및 장점데이터 무결성 보장..
도메인 객체를 설계하고 생성할 때, 개발자는 객체의 일관성을 유지하고 코드의 가독성을 높이기 위해 다양한 생성 전략을 선택할 수 있습니다. 대표적으로 생성자(Constructor), 빌더 패턴(Builder Pattern), 정적 팩토리 메서드(Static Factory Method) 세 가지 방식이 있으며, 각각의 장단점과 적합한 사용 상황이 다릅니다.1. 생성자 (Constructor)가장 기본적이고 전통적인 객체 생성 방식입니다. new 키워드와 함께 호출되어 객체를 초기화합니다.사용법public class User { private String name; private int age; private String email; // 필수 값을 받는 생성자 public Use..
문제n개의 서로 다른 양의 정수로 이루어진 수열이 주어졌을 때, $a_i + a_j = x$ (1 ≤ i 입력: 첫째 줄에 수열의 크기 n이 주어집니다. 둘째 줄에 수열에 포함되는 수가 주어집니다. 셋째 줄에는 x가 주어집니다.출력: 문제의 조건을 만족하는 쌍의 개수를 출력합니다.링크: https://www.acmicpc.net/problem/3273풀이 1: 정렬과 투 포인터배열을 오름차순으로 정렬한 뒤, 양 끝에서부터 포인터를 좁혀오며 합을 찾는 정석적인 투 포인터 풀이입니다.정렬: 배열 a를 오름차순으로 정렬합니다. 시간 복잡도는 O(N log N)이 소요됩니다.투 포인터 탐색: 시작 포인터 s를 0, 끝 포인터 e를 n - 1로 설정합니다.a[s] + a[e] == x: 두 수의 합이 x와 같다면..
문제비어있는 공집합 S가 주어졌을 때, 아래 연산을 수행하는 프로그램을 작성하는 문제입니다.add x: S에 x를 추가합니다. (1 ≤ x ≤ 20) S에 x가 이미 있는 경우에는 연산을 무시합니다.remove x: S에서 x를 제거합니다. (1 ≤ x ≤ 20) S에 x가 없는 경우에는 연산을 무시합니다.check x: S에 x가 있으면 1을, 없으면 0을 출력합니다. (1 ≤ x ≤ 20)toggle x: S에 x가 있으면 x를 제거하고, 없으면 x를 추가합니다. (1 ≤ x ≤ 20)all: S를 {1, 2, ..., 20} 으로 바꿉니다.empty: S를 공집합으로 바꿉니다.입력: 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어집니다. 둘째 줄부터 M개의 줄에 수..
문제지민이는 길이가 64cm인 막대를 하나 가지고 있습니다. 지민이는 이 막대를 이용해 Xcm 크기의 막대를 만들려고 합니다. 막대를 자르는 과정은 다음과 같습니다.지민이가 가지고 있는 막대의 길이를 모두 더합니다. 처음에는 64cm 막대 하나만 가지고 있습니다.가지고 있는 막대의 길이 합이 X보다 크다면, 아래 과정을 반복합니다.가지고 있는 막대 중 가장 짧은 것을 절반으로 자릅니다.만약, 자른 막대의 절반 중 하나를 버리고 남아있는 막대의 길이 합이 X보다 크거나 같다면, 그 절반을 버립니다.그렇지 않다면 버리지 않고 모두 보관합니다.위 과정을 거친 후 남은 막대들을 풀로 붙여서 Xcm를 만듭니다.목표 길이 X가 주어질 때, 몇 개의 막대를 풀로 붙여서 Xcm를 만들 수 있는지 구하는 문제입니다.입력..