본문 바로가기

전체 글275

Springboot에서 java-email 활용하기 pom.xml spring-boot-starter-email 추가 org.springframework.boot spring-boot-starter-mail application.properties SMTP 설정 spring.mail.host=smtp.naver.com spring.mail.port=465 # naver 포트 spring.mail.username=송신용이메일@naver.com spring.mail.password=송신용이메일의비밀번호 spring.mail.properties.debug=true spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.ssl.enable= true spring.mail.proper.. 2022. 11. 21.
[BAEKJOON] 낚시왕 이 문제는 크게 두 가지 스킬만 깨우친다면 쉽게 풀 수 있는 문제이다. 1. 상어가 움직일 때 현재 map의 R크기와 C크기에 따른 상어의 속력 s를 활용하여 움직인 후의 위치 찾아주기 2. PriorityQueue를 활용하여 상어의 크기가 큰 순으로 offer하기 → 상어가 모두 움직인 후 map에 위치시킬 때 해당 칸에 이미 상어가 존재한다면 현재 상어는 잡아먹히게 되는 것임 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Comparator; import java.util.PriorityQueue; im.. 2022. 11. 7.
[BAEKJOON] 치즈 원래 치즈 모양과 예제 입력에서 치즈 내부의 구멍이 있는 '0'인 곳은 공기로 보면 안 된다. 치즈가 아닐 뿐 외부 공기와 맞닿아 있지 않았기 때문이다. 또한, 예제 입력에서 판의 가장자리에는 치즈가 놓여있지 않다고 하니 외부 공기로 판단하여 bfs 혹은 dfs로 가장 겉부분의 치즈만 파악할 수 있다면 모든 치즈가 녹는 데까지 시간을 구할 수 있을 것이다. 시간이 1씩 증가할 때마다 공기의 상, 하, 좌, 우 방향으로 겉부분의 치즈를 공기에 노출되게끔 한다. 모든 치즈가 사라지기 전의 시간을 출력해야하므로 매 시간이 흐를 때마다 먼저 치즈의 전체 개수를 세고, 외부 공기를 맞닿게 하는 순서로 진행한다. [BFS 풀이] import java.io.BufferedReader; import java.io.IO.. 2022. 10. 23.
[Programmers] 최댓값과 최솟값 https://school.programmers.co.kr/learn/courses/30/lessons/12939 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.제한 조건 s에는 둘 이상의 정수가 공백으로 구분되어 있습니다. 입출력 예.. 2022. 9. 26.
[BAEKJOON] 직사각형 쿼리 2차원 배열에서 자연수 1부터 10까지 카운트 할 수 있도록 3차원 배열로 확장하여 누적합 풀이를 적용한다. arr[x][y][k]는 x행, y열까지 자연수 k가 몇 개까지 카운트되었는지를 담고 있다. x1, y1부터 x2, y2까지 자연수 k의 누적 개수는 arr[x2][y2][k] - arr[x2][y1-1][k] - arr[x1-1][y2][k] + arr[x1-1][y1-1][k] 이다 그 이유는 아래 그림으로 설명 가능하겠다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamW.. 2022. 9. 22.
[BAEKJOON] 아기상어 ※ 아기상어가 먹을 수 있는 물고기를 찾는다고 해서 바로 먹으면 금물! 먹을 수 있는 물고기 리스트에 저장해놨다가 가장 위에 있는, 그 다음으로 가장 왼쪽에 있는 물고기 딱 한 마리만 먹을 수 있다는 것을 잊지 말자. 이때 활용한 것이 Comparable 인터페이스이다. 아기상어와 물고기의 거리를 나타낼 dist 필드를 기준으로 정렬해줄 건데, 아래 코드를 보면 거리가 같을 경우, 가장 위쪽(x 좌표가 더 작은)에 있는 물고기로, 물고기 위치를 상하로 따질 수 없는 경우는 최후의 수단으로 가장 왼쪽(y좌표가 더 작은)에 있는 물고기를 선택할 수 있도록 compareTo() 메소드가 정의되어 있다. ✅ 반복, 종료조건 파악하기 초기 위치에서 가장 가까이에 있는 위치의 물고기를 찾아나선다(bfs). 가장 가.. 2022. 8. 30.