본문 바로가기

분류 전체보기23

[JAVA] BOJ2293 동전 1 알고리즘 분류 다이나믹 프로그래밍 문제 풀이 방법 동전들의 가치를 저장하는 num 배열을 입력받습니다. dp[i][j] 배열은 인덱스 i번째 동전까지 사용했을 때, 가치 j를 만들 수 있는 경우의 수라고 정의했습니다. 동전들을 num 배열에 저정합니다. 첫 번째 동전만 사용할 경우, j(가치) % num[i] == 0일 때, 해당 동전으로 가치를 만들 수 있는 것이므로 arr[i][j]의 값을 1로 만들어주었습니다. e.g. 가치가 14이고, 첫 번째 동전이 7일 경우 dp[0][7]과 dp[i][14]의 값만 1이고, 나머지 값은 0의 값을 가짐 동전을 두 개 이상 사용하는 경우는 dp배열은 다음과 같습니다. dp[i][j] = dp[i - 1][j] + dp[i][j - arr[i]] 이 때, j -.. 2024. 1. 15.
[Spring] Slf4j 사용 시, cannot find symbol variable log 에러 사용 환경 intellij, Spring boot 3.2.1, java 17, gradle 8.5 발생 오류 로그 사용을 위해 Slf4j어노테이션을 사용했는데, 다음과 같은 오류가 발생했습니다. build.gradle에 depencency 설정도 잘 되어 있었고, intellij에서 Lombok 플러그인도 잘 설치된 상태입니다. depencency에 다음 코드 두 줄을 추가하니 해결되었습니다. annotationProcessor 'org.projectlombok:lombok:1.18.26' testImplementation 'org.springframework.boot:spring-boot-starter-test' 이 때 lombok 버전은 자신이 사용하는 버전과 같은 버전으로 해야 정상적으로 빌드됩니다.. 2024. 1. 4.
[Spring] 검색 조건이 까다로울 때, 어떻게 해야 좋을까? 몇 달 전 진행한 프로젝트에서 사용자가 설정한 조건에 맞는 게시글을 가지고 와야되는 기능이 있었습니다. 예전에 구현했던 기능이지만, 생각난 김에 한 번 정리해보겠습니다. 본격적으로 들어가기에 앞서,,,이 글은 그냥 기록용입니다 !!! 정답이 아닙니다 ,,!! 단순히 보이는 기능이지만, 검색 조건은 다음과 같았습니다. [키워드 검색] 사용자가 입력한 키워드에 맞는 게시글이 나올 것 (키워드 입력이 없을 경우, 모든 게시글이 나올 것)[좋아요 여부] 자신이 좋아요를 누른 게시글만 나올 것[작성 여부] 자신이 작성한 게시글만 나올 것[페이지네이션] 사용자가 원하는 페이지에 대한 게시글이 나올 것[정렬] 작성 날짜, 좋아요, 조회수에 따른 게시글을 정렬할 것 저는 params의 인자로 keyword, like,.. 2023. 12. 31.
2023년 회고 저에게 2023년도는 성장할 수 있는 한 해였습니다. 사실 저는 대학생 때, 웹에 대한 관심이 없었습니다. BDSD와 동아리와 멋쟁이 사자처럼이라는 대학 동아리도 해보았지만, 공부를 하면 항상 HTML, CSS, JS에 그치고 그 이상 공부를 한 적이 없었습니다. 대학생 시절, 수학과 물리를 좋아했고, 잘한다고 생각했기 때문에 AI, 딥러닝 분야로 진로를 정하고 싶다고 생각했습니다. 그리고 항상 그 분야로만 공부를 진행했었습니다. 하지만 AI, 딥러닝을 잘한다고 내세울 수준은 아니었습니다. (혼자 미련만 갖고 있는 상태,,) 4학년 2학기 웹에 대한 지식이 전무한 상태에서 SI 기업의 인턴을 하게 되었습니다. 저는 잘 하는 것이 없었고, 채용전환형 인턴이었지만, 정규직이 되지 않고 회사를 나왔습니다. 모.. 2023. 12. 29.
[JAVA] BOJ1753 최단경로 알고리즘 분류 그래프 이론 데이크스트라 최단 경로 문제 풀이 방법 Node 클래스를 만든 후, 다익스트라 알고리즘을 사용했다. 우선순위 큐에 (끝 점, 가중치)의 값을 가진 노드를 추가하며, 최단 경로로 갔을 때의 값을 배열 d에 저장했다. 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.PriorityQueue; import java.util.StringTokenizer; /* 최단경로 */ public class BOJ1753 { static class Node implements Comparable { .. 2023. 12. 18.
[JAVA] BOJ11049 행렬 곱셈 순서 알고리즘 분류 다이나믹 프로그래밍 문제 풀이 방법 점화식의 특성에 따라, N이 주어졌을 때, N-1개 까지의 개수는 구할 수 있다고 가정 D[i][j]: i부터 j까지 행렬의 연산 횟수 D[1][N] = D[1][j] + D[j + 1][N] + a, a = (j번째 행렬의 행의 개수) * (j + 1번째 행렬의 행의 개수) * (j + 1번째 행렬의 열의 개수) 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class BOJ11049 { /* 행렬 곱셈 순서 */ static class Matrix { int r.. 2023. 12. 14.