분류 전체보기 (118) 썸네일형 리스트형 Spring 입문 Study - Spring 프로젝트 생성, Spring 라이브러리, Spring의 동작 인프런의 김영한 강사님의 강의를 토대로 학습내용을 저장하고 remind 하기 위해 포스팅 한다. ✅ Spring 프로젝트 생성하기 Spring 프로젝트를 생성하는 방법은 다른 프로젝트를 생성하는 것과 약간 다르다. Spring 프로젝트를 생성하는 사이트는 다음과 같다. https://start.spring.io/ 빌드 관리 도구로 Gradle과 Maven을 선택할 수 있는데 요즘에는 대부분 Gradle을 사용한다고 한다. 레거시 프로젝트 같은 경우 아직 Maven을 사용하는 곳도 있다고 한다. Gradle과 Maven에 대한 소개, 차이점은 따로 포스팅할 예정이다. Spring3 으로 업데이트가 되면서 JAVA17을 사용해야 한다. 아마 JAVA 11을 사용했을 때 뭔가 오류 메시지가 출력되었던 것 같다.. [JAVA] 백준 1932 - 정수 삼각형 https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 🤔 문제 접근 전체 숫자들의 최대값 정보를 담는 2차원 배열 tree와 원래 숫자의 정보를 담는 2차원 배열 ori를 선언했다. tree.clone으로 ori도 생성을 간단하게 하면 되지 않을까 생각했지만 2차원 배열에 clone메서드를 사용하면 객체들을 담고 있는 주소의 주솟값데이터를 새로 생성해 복사하기 때문에, (2차원 배열에 clone을 사용하면 얉은 복사를 수행, 1차원 배열은 깊은 복사) tree [i][j]의 값이 바뀌면 ori [i][j] 의 값도 바뀌게.. [JAVA] 백준 2156 - 포도주 시식 https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net 🤔문제 접근 DP 문제인 포도주 시식 문제이다. 문제를 딱 봤을 때, 이전에 풀었던 같은 DP문제인 계단 오르기 문제가 생각났다. 연속해서 3개의 와인을 고를 수 없는 것이나 각 와인을 골랐을 때의 최대 양을 구하는 것이 계단 문제와 같았다. 하지만 다른 점이 있다면, 바로 마지막 와인이 정해져 있지 않다는 것이다. 계단 문제 같은 경우 마지막 계단을 반드시 밟아야 했지만 해당 문제는 그런 것이 없.. [JAVA] 백준 1699 - 제곱수의 합 🤔문제 접근 처음에 점화식을 구하지 못하고 Math.sqrt(N) 을 한 값을 N에서 빼주고 answer+1 해주는 방식으로 단순 반복문으로 해결하려고 했다. 하지만 이 경우는 항의 최소를 구할 수 없는 방법이었다. 어떤 수 N은 N-1보다 작은 제곱수들 중 최소 제곱수들의 합 + 1이라는 규칙을 갖고 있다. 예를 들어 15는 (15-1) 의 최소 제곱수의 합 +1 (15-4) 의 최소 제곱수의 합 +1 (15-9) 의 최소 제곱수의 합 +1 이다. 문제에선 항이 최소일 때를 구하는 것이므로 이 중 최소 값을 구하면 된다. 🚨CODE import java.io.*; import java.util.*; public class Main { public static void main(String[] args).. [JAVA] 백준 6603 - 로또 🤔 문제 접근 dfs를 사용하는 조합 문제였다. 다만 숫자의 자리가 6자리로 고정되어있고 숫자의 구성이 사전 순으로 되어있음을 고려해야한다. 따라서 재귀 호출을 한 횟수가 6일 때 StringBuilder에 append 해주고 사전 순을 고려할 땐 이전에 고른 idx를 파라미터로 넘겨주어 해당 idx+1을 해주도록 했다. 다른 비슷한 문제들 같은 경우 boolean 타입의 visit 배열로 중복체크를 하지만 해당 문제는 어차피 이전에 고른 숫자 idx + 1을 골라주기 때문에 boolean으로 중복체크를 할 필요가 없었다. 🚨CODE import java.io.*; import java.util.*; public class Main { static StringBuilder sb = new StringBu.. [JAVA] 백준 1916 - 최소비용 구하기 🤔 문제 접근 다익스트라 알고리즘의 대표 문제인 최단 경로 문제와 매우 똑같은 문제이다. https://daneng4-codingstory.tistory.com/66 [JAVA] 백준 13549 - 최단 경로 다익스트라 알고리즘을 공부하며 대표 문제인 최단 경로 문제를 풀어보았다. BFS와 비슷한 느낌이 들었지만 각 노드의 가중치의 최소를 계속해서 갱신해주는 것이 새로웠다. 🤔 문제 접근 각 노 daneng4-codingstory.tistory.com 위 문제와 로직은 똑같고 도착 정류장의 최소 비용만 구해주면 된다. 다익스트라 알고리즘 문제를 풀 땐 항상 1. 갈 수 있고 방문하지 않은 노드 중 가중치(비용)가 최소인 노드부터 탐색한다 2. 해당 노드로부터 갈 수 있는 노드들의 비용을 갱신한다. 이 두.. [JAVA] 백준 2108 - 통계학 🤔 문제 접근 구현 문제인 통계학 문제이다. 어려운 문제는 아니었지만 산술 평균쪽과 최빈값 계산에 있어서 살짝 헤맸다. 산술 평균을 구할 때 데이터 형식을 int로 하여 계산할 경우 예를 들어 전체 합 / N 의 값이 -1.8일 때 -1로 나올 수 있다. 따라서 double 형으로 계산하고 Math.round 메소드를 통해 소수 첫째자리에서 반올림 한 뒤 int 형으로 변환하여 값을 반환해주자. 또한 최빈값을 구하는 과정은 각 숫자들을 map에 집어넣고 가장 많이 나온 횟수인 maxCount를 구한 뒤, key의 value가 maxCount와 같은 key들을 찾아내도록 했다. 이때 key의 개수가 2개 이상이라면 두번째로 작은 값을 반환해주었다. key들을 구하고 다시 key들을 순회하며 2번째로 작은 .. 에라토스테네스의 체 - seive of eratosthenes 📗 에라토스테네스의 체 알고리즘 그리스의 수학자 에라토스테네스가 만들어 낸 소수를 구하는 방법으로 프로그래밍 알고리즘에서 소수를 구할 때도 적용하여 사용한다. ✔️ 에라토스테네스의 체 알고리즘의 원리 에라토스테네스의 체 알고리즘의 원리는 "소수의 배수인 수들을 전부 제외하면 소수만 남는다" 이다. 다시 말하면 소수의 배수들은 전부 소수가 아니기 때문에 소수의 배수들만 전부 제외하면 소수만을 구할 수 있는 것이다. 🚨CODE // 에라토스테네스의 체 boolean[] prime = new boolean[n]; public static void SeiveOfEratosthenes(){ // true = 소수x , false = 소수 prime[0] = prime[1] = true; for(int i = 2; i 이전 1 ··· 4 5 6 7 8 9 10 ··· 15 다음