인텔리제이에서 스프링 부트 src > main > java > ServerApplication.java 파일이 실행이 안 되는 문제 (Help만 실행됨) 백엔드 서버 작업하려고 새로운 스프링 프로젝트 gradle로 만듦java파일 bootRun 을 돌렸느데 help만 실행됨Gradle 9.3 + Spring Boot 3.x + JDK 23 조합으로 시작해서 자바컴파일이 안된거 그 이유는 Gradle 이랑 Java 버전히 호환이 안되서 빌드가 안됨 1. Gradle 버전 9.3을 8.4로 낮춤 따라서 gradle-wrapper.properties 파일에서 아래와 같이 버전 수정distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-all..
My Tech Blog (Java)
📑 1. 문제설명https://school.programmers.co.kr/learn/courses/30/lessons/132265 💡 2. 풀이과정처음에는 전체 토핑 종류 수가 홀수이면 반으로 못 나누니까 return 0 하고, 홀수가 아니면 로직을 진행하는 것으로 생각해서 어떻게 코드를 써야 할 지 몰랐다. 하지만 이 문제에서 토핑의 수는 중요하지 않다. 토핑의 종류가 홀수든 짝수든 상관 없다. 그냥 서로 다른 토핑 개수 수가 같은 지점에서 케익을 자르면 되기 때문이다. 나처럼 접근한 사람들이 있을 것 같아서 반례를 남긴다. 반례[1,1,2,2,3]이건 토핑 종류가 홀수인데도 잘라보면왼쪽 : 1, 1, 2오른쪽 2, 3이렇게 왼쪽 오른쪽 각각 두 종류씩으로 홀수인데도 케이크 자르기가 가능하다. 이..
📑 1. 문제설명https://school.programmers.co.kr/learn/courses/30/lessons/43165💡 2. 풀이과정각 숫자마다 연산자로 두 가지 선택지가 있다. → `+` 또는 `-`DFS로 모든 경우를 탐색하면서 합계를 누적한다.모든 숫자를 다 사용한 시점은 (depth == numbers.length)에 합이 target과 같으면 count++;한 마디로 요약하면 DFS는 모든 가능한 경우를 빠짐없이 탐색하고, 각 경우마다 합계를 체크해서 target과 같으면 세는 방법이다. 여기선느 각 숫자마다 +,- 2가지 선택지가 있으니까 따라서 아래와 같은 개수의 조합이 생성된다.총 경우의 수 = 2^numbers.length 문제에 나온 예시1에서는 [1, 1, 1, 1, ..
📑 1. 문제설명https://school.programmers.co.kr/learn/courses/30/lessons/12911💡 2. 풀이과정이문제는 2진수에서 1의 개수를 유지하면서 다음 큰 수를 찾는 문제인데, bitCount로 1의 개수를 세고, 조건이 맞을 때까지 숫자를 증가시키면 된다. 👨💻 3. 정답코드class Solution { public int solution(int n) { int count = Integer.bitCount(n); // n의 1 개수 int next = n + 1; while (Integer.bitCount(next) != count) { next++; } ..
📑 1. 문제설명https://school.programmers.co.kr/learn/courses/30/lessons/1334991. 문제 요약 문자열이 "aya", "ye", "woo", "ma" 네 가지 발음으로만 이루어져 있고, 같은 발음을 연속해서 쓰면 안 된다💡 2. 풀이과정words 배열 선언하고 가능한 발음 넣어두기각 문자열 b에 대해 처음부터 차례대로 확인하기startsWith(w, i) 써서 현재 위치에서 가능한 발음이 시작되는지 확인하기같은 발음이 직전에 사용된 것(prev)와 같으면 건너뛰기끝까지 조건을 만족하면 유효한 단어로 카운트👨💻 3. 정답코드class Solution { public int solution(String[] babbling) { St..
📑 1. 문제설명최단 경로를 보장하는 문제에서 너비 우선탐색을 한다. 너비 우선탐색을 큐로 구현해보자.너비 우선 탐색으로 모든 노드를 순회하는 함수 solution()을 작성하기시작노드는 매개변수 start로 주어진다. graph는 (출발 노드, 도착 노드) 쌍들이 들어 있는 리스트이다. 반환값은 그래프의 시작 노드부터 모든 노드를 너비 우산 탐색으로 진행한 순서대로 노드가 저장된 리스트이다. 제약 조건노드의 최대 개수는 100개이다.시작 노드부터 시작해서 모든 노드를 방문할 수 있는 경로가 항상 있다.그래프의 노드는 숫자이다.입출력 예graphstartnreturn[[1, 2], [1, 3], [2, 4], [2, 5], [3, 6], [3, 7], [4, 8], [5, 8], [6, 9]]19[1..
📑 1. 문제설명정수 N을 입력 받가 1부터 N까지의 숫자 중에서 합이 10이 되는 조합을 리스트로 반환하는 solution() 함수를 작성하세요. 제약조건백트래킹을 활용해야 합니다.숫자 조합은 오름차순으로 정렬되어야 한다.같은 숫자는 한 번만 선택할 수 있다.N은 1이상 10이하인 정수이다.입출력 예Nresult5[[1, 2, 3, 4], [1, 4, 5], [2, 3, 5]]2[]7[[1, 2, 3, 4], [1, 2, 7], [1, 3, 6], [1, 4, 5], [2, 3, 5], [3, 7], [4, 6]]💡 2. 풀이과정조합한 숫자의 합이 10이 되면 해당 조합을 결과 리스트에 추가하기조합한 숫자의 합이 10보다 크면 백트래킹(유망 함수 조건)이건 유망함수 조건만 잘 파악하면 쉽게 구현할 ..
📑 1. 문제설명깊이 우선 탐색으로 모든 그래프의 노드를 순회하는 함수 solution() 작성하기시작 노드는 start로 주어진다. graph는 [출발 노드, 도착 노드] 쌍들이 들어 있는 리스트이다.반환값은 그래프의 시작 노드부터 모든 노드를 깊이 우선 탐색으로 진행한 순서대로 노드가 저장된 리스트 제약조건노드의 최대 개수는 100개를 넘지 않습니다.시작 노드부터 시작해서 모든 노드를 방문할 수 있는 경로가 항상 있다.그래프의 노드는 문자열이다.입출력 예graphstartnreturn[['1', '2'], ['2', '3'], ['3', '4'], ['4', '5']]'1'5['1', '2', '3', '4', '5'][['1', '2'], ['1', '3'], ['2', '4'], ['2', '5..