본문 바로가기

분류 전체보기60

[백준 / Java] 14575. 뒤풀이 문제 풀이파라매트릭 서치(매개변수 탐색) 문제입니다.이분탐색으로 값의 범위를 좁혀나가면서 현재 값이 문제의 조건을 만족하냐 만족하지 않느냐를 판단해주면 됩니다.1. 입력받기N = Integer.parseInt(st.nextToken());T = Integer.parseInt(st.nextToken());arr = new int[N][2];for(int i=0; iarr은 (N x 2) 2차원 배열로 다음의 값이 저장됩니다.arr[i][0]: Li. 즉 i번째 사람이 기분 좋아지려면 마셔야하는 최소 술의 양arr[i][1]: Ri. 즉 i번째 사람이 천국에 가지 않는 최대 술 양2. 파라매트릭 서치우선 큰 틀은 아래와 같이 이분탐색 로직입니다.while문 안에는 mid(=구해야하는 S값)가 조건에 맞는지를.. 2024. 6. 18.
[백준 / Java] 2665. 미로만들기 문제문제 링크풀이이 문제는 (0, 0) ~ (N-1, N-1)로 가는데 검은 방을 흰 방으로 최소한으로 바꾸면서 갔을 때, 방 색을 바꾼 횟수를 구하는 문제입니다.즉, 방의 색을 바꾸는 횟수를 가중치로 생각했을 때, 가중치를 최소화하면서 끝 방까지 가는 경우를 구하면 됩니다.만약 일반 bfs처럼 푼다면 (N-1, N-1)에 가장 먼저 도달했을 때 방의 색을 바꾼 횟수가 최소가 아닐 수 있습니다.예시: 아래의 경우, 방 색을 전혀 바꾸지 않고도 끝 방에 갈 수 있지만, 방문하는 순서에 따라 방 색을 바꾸는 루트로 가장 먼저 N-1, N-1에 도달할 수 있음따라서 이 문제에서는 흰 방으로 이동하는 것은 가중치가 0, 검은 방으로 이동하는 것은 가중치가 1이고 큐에 그 칸의 정보를 넣었을 때 가중치가 더 작은.. 2024. 6. 11.
Beyond SW 7기 4주차 회고록 🍀 좋았던 점DB 팀플 끝이번 주 월요일은 DB 팀플 결과물을 발표하는 시간이었습니다.다른 팀의 DB 설계를 살펴보면서 "이런 설계가 더 좋네? 앞으로는 이렇게 해야지"라는 생각도 들었고, 발표를 들으면서 진짜 발표를 잘하시는 분들이 많다고 느꼈습니다.개인적으로 느낀 것은 모든 기능을 다 나열해서 보여주는 것보다, 확실하게 보여주고 싶은 포인트를 정해서 그 기능을 중점적으로 보여주는 게 발표를 듣는 사람 입장에서 더 이해하기 쉽고 흥미가 생겼던 것 같습니다.다음에 혹시 발표를 하게 되거나 같은 팀원분의 발표를 피드백 해줄 수 있는 기회가 있다면, 이 프로젝트를 전혀 모르는 사람에게 설명한다는 것을 꼭 기억하면서 발표를 준비하거나 피드백 해줘야겠다는 생각을 했습니다.시험을 잘 봄어쩌다 시험을 잘봐서 상품.. 2024. 6. 9.
[JPA 개념] 연관 관계 매핑 단방향 연관 관계 매핑MEMBER라는 테이블과 TEAM이라는 테이블이 있다고 하겠습니다.한 멤버는 한 팀에 속할 수 있고, 한 팀에는 여러명의 멤버가 속해있습니다.따라서 MEMBER와 TEAM은 N:1 관계입니다.Member.javaimport jakarta.persistence.Column;import jakarta.persistence.Entity;import jakarta.persistence.GeneratedValue;import jakarta.persistence.Id;import lombok.Getter;import lombok.Setter;@Getter@Setter@Entitypublic class Member { @Id @GeneratedValue @Column(name = "MEMB.. 2024. 6. 6.
[JPA 개념] JPA의 기본 어노테이션 알아보기 @Entity@Entity가 분은 클래스는 JPA가 관리, 엔티티라고 합니다.JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수입니다.주의할 점!엔티티 클래스에는 기본 생성자가 필수입니다. (파라미터가 없는 public 또는 protected 생성자)final 클래스, enum, interface, inner 클래스에는 @Entity 어노테이션 사용이 불가능합니다.저장할 필드에 final 키워드 사용이 불가능합니다.@Table@Table 어노테이션은 엔티티와 매핑할 테이블을 지정합니다.데이터베이스 스키마 자동 생성 기능hibernate.hbm2ddl.auto속성create: 기존 테이블을 삭제 후 다시 생성합니다. (DROP + CREATE)create-drop: create와 같으나 종료 시.. 2024. 6. 6.
[ 백준 / Java ] 2573. 빙산 문제풀이빙하가 모두 녹거나, 빙하가 녹아서 두 부분 이상이 될때까지 반복문으로 빙하 녹이는 과정을 반복하고, 조건을 만족한다면 반복문을 break로 빠져나옵니다. for(int t = 1; ; t++) { // 시간을 계속 증가시키는 무한 반복문 ... }모든 칸을 돌면서 주변 0의 개수를 세어줍니다. (주변 0개수를 removeCnt에 저장)removeCnt의 값을 각 칸에서 빼줍니다. 이때 만약 map[i][j] - removeCnt[i][j]가 음수가 된다면, 0으로 바꿔줍니다.빙하가 모두 녹았는지 확인하고, 다 녹았다면 반복문을 빠져나갑니다.빙하가 몇 부분으로 갈라졌는지 개수를 세어줍니다. 여기서 dfs 로직이 필요합니다.빙하가 모두 녹거나, 2부분이상으로 녹을 때까지 위 로직.. 2024. 6. 4.