Spring JPA 관련 Annotation 및 설명
·
BackEnd
@MappedSuperclass객체의 입장에서 공통 매핑 정보가 필요할 때 사용부모 클래스에 선언하고 속성만 상속받아서 사용하고 싶을 때 사용[예제] Product 에서 BaseEntity를 상속받아서 사용@Getter@MappedSuperclass@EntityListeners(AuditingEntityListener.class)public abstract class BaseEntity { @CreatedDate private LocalDateTime createDateTime; @LastModifiedDate private LocalDateTime modifiedDateTime;}@Getter@NoArgsConstructor(access = AccessLevel.PROTECTED)..
[ 백준 12789 ] 도키도키 간식드리미 (C++)
·
Algorithm/Baekjoon
[문제 풀이]1. 번호표를 queue에 입력받습니다.2. queue에서 front가 현재 들어갈 수 있는 번호표라면 간식을 받으러 보내줍니다.3. queue에서 front가 현재 들어갈 수 없다면 stack이 비어있는지 체크하고 비어있다면 stack에 push 해줍니다.4. stack이 비어있지 않다면 stack의 top을 체크하고 현재 들어갈 수 있는 번호표라면 간식을 받으러 보내줍니다.5. stack의 top이 현재 들어갈 수 없다면 stack의 top이 queue의 front보다 작은지 체크하고 작다면 "Sad"를 출력하도록 합니다.6. stack의 top이 queue의 front보다 크다면 stack에 push 해주고 1 - 6번 과정을 queue가 빌 때까지 반복합니다.7. 마지막으로 queue..
[ 백준 17266 ] 어두운 굴다리 (JAVA)
·
Algorithm/Baekjoon
[문제 풀이]1. (가로등 사이의 거리 / 2) 중에 가장 큰 값을 구하는 방식으로 문제 해결 [코드]길의 시작 ~ 처음 가로등 사이의 거리, 가로등 사이의 거리 / 2, 마지막 가로등 ~ 길의 끝 거리 중에 가장 큰 값 선택dis = 0;pre = 0;for(int m=0; m[전체 코드]import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { static int N, M, dis, pre, tmp, cur; static StringTokenizer st; public static void main(Stri..
책 <읽기 좋은 코드가 좋은 코드다> 요약 - 1장 코드는 이해하기 쉬워야 한다
·
ETC/책
가독성의 기본 정리코드는 다른 사람이 그것을 이해하는 데 들이는 시간을 최소화하는 방식으로 작성되어야 한다.이해를 위한 시간다른 사람이 내가 작성한 코드를 읽고 이해하는 데 걸리는 시간. (다른 사람은 미래의 내가 될 수도 있다.)좋은 코드를 위해 최소화해야 하는 값.어떤 사람이 내 코드를 완전히 이해한다는 것은 그가 코드를 자유롭게 수정하고, 버그를 짚어내고, 수정된 내용이 내가 작성한 다른 부분의 코드와 어떻게 상호작용하는지 알 수 있을 때 해당 코드를 이해하고 있는 것이다. 분량이 적으면 항상 더 좋은가?분량이 적다고 해서 항상 더 좋은 코드가 아니다.다음의 한 줄짜리 코드는assert((!bucket = FindBucket(key))) || !bucket -> IsOccupied())아래의 코드를..
[ 백준 1937 ] 욕심쟁이 판다 (C++)
·
Algorithm/Baekjoon
[문제 풀이]1. 판다가 있는 좌표에서 상, 하, 좌, 우 중 이동할 수 있는 칸을 선택2. 판다가 이동할 수 있는 칸 중에서 이미 다녀온 곳이면 DFS함수를 통해 계산하지 않고 다녀오지 않은 곳이면 DFS 함수를 통해 계산3. 판다가 있는 좌표에서 상, 하, 좌, 우로 이동할 수 있는 곳 중에서 최댓값을 저장하고 반환4. 모든 좌표 중에서 최대값을 정답으로 출력[코드]판다가 있는 좌표에서 상, 하, 좌, 우 중 이동할 수 있는 칸을 선택// ni, nj 판다가 있는 좌표int nx = ni + dx[i];int ny = nj + dy[i];// 대나무 숲의 범위를 넘어가는지 체크if(nx >= N || nx = N || ny 판다가 이동할 수 있는 칸 중에서 이미 다녀온 곳이면 DFS함수를 통해 계산하..
2024년 신입 개발자 회고
·
ETC/회고
학습관리시스템 프로젝트 (2024.01-2024.04)스파로스 아카데미와 삼성 청년 SW 아카데미 두 번의 교육을 받은 후 감사하게도 학습관리시스템 프로젝트를 할 수 있는 제안이 들어왔다. 이 프로젝트는 이전에 만들다가 중단된 프로젝트였다. 이전에 작성된 코드와 데이터베이스 구조를 파악하고 프로젝트에 들어갔다. 총 네 명이 프론트엔드 1명과 백엔드 1명씩 두 그룹으로 관리자페이지, 학생페이지를 개발했다.검색 기능 개선을 위해 Querydsl을 사용하고 출석 체크를 간편하게 하기 위해 NFC를 도입했다. 총 200개의 API를 만들었다. 마음이 맞고 소통이 잘되는 팀원들과 개발하면서 프로젝트 기간 동안 재밌게 진행했다. 취업 ( 2024.05-2024.12)학습관리시스템 프로젝트가 끝나가면서 공백기가 싫어..
[ 백준 5046 ] 전국 대학생 프로그래밍 대회 동아리 연합 (C++)
·
Algorithm/Baekjoon
[문제 풀이]1. 호텔에서 참가자의 수만큼 투숙할 수 있는지 체크2. 숙박비용 * 참가자의 수가 예산보다 적은지 체크3. 1, 2조건에 맞는 비용들 중 최소를 선택[코드]조건에 맞는 비용들 중 최소를 선택하는 코드for(int i=0; i>P; for(int j=0; j>a; if(a >= N && N * P N * P){ answer = N*P; } } }[전체 코드]#include using namespace std;int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N, B, H, W, P..
[ 백준 4659 ] 비밀번호 발음하기 (C++)
·
Algorithm/Baekjoon
[문제 풀이]1. 패스워드에 모음(a, e, i, o, u) 하나를 포함하는지 체크2. 패스워드에 모음이 3개 혹은 자음이 3개 연속으로 오는지 체크3. 패스워드에 같은 글자가 연속적으로 두번 오는지 체크 (ee, oo는 허용)[코드]패스워드에 모음(a, e, i, o, u) 하나를 포함하는지 체크하는 함수bool firstCheck(string password){ bool flag = false; int len = password.length(); for(int i=0; i패스워드에 모음이 3개 혹은 자음이 3개 연속으로 오는지 체크하는 함수bool secondCheck(string password){ bool flag = true; int len = password.leng..
[ 백준 2146 ] 다리 만들기 (C++)
·
Algorithm/Baekjoon
[문제 풀이]BFS를 사용해 각각의 섬들의 좌표들을 찾는다.서로 다른 섬의 좌표끼리 비교하며 가장 가까운 거리를 구한다.[코드]BFS를 사용해 각각의 섬들의 좌표들을 찾는다.void check(int y, int x){ queue > q; q.push(make_pair(y, x)); vc[k].push_back(make_pair(y, x)); visit[y][x] = 1; while(!q.empty()){ int oy = q.front().first; int ox = q.front().second; q.pop(); for(int i=0; i= N || nx >= N) continue; if(map[ny][nx..