전체 글
[프로그래머스] 미로탈출명령어 (java)
1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/150365?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2. 풀이키워드 : DFS, 백트래킹, 가지치기이 문제는 dfs 와 백트래킹을 같이 이용해서 푸는 문제였다. 출발점 - 도착점 까지의 거리를 맨해튼 거리라고 한다. dfs 를 이용하는 것 까진 알겠는데 백트래킹을 이용할 때 어떤 부분들을 가지치기를 할 수 있을까?가지치기를 어떻게 할 것인가?- 남은거리가 맨해튼 거리보다 작은 경우 (diff - 남은거리 % 2 != k % 2인 경우 - 만약 k가 dist..
2024 WOOWACON 후기 (백엔드 및 멘토링 세션 참여)
1. 우아콘을 참여하게된 계기평소 우아한 테크 메일을 구독하고 있는데 2024년에도 어김없이 우아콘을 개최한다는 소식을 받게되었다. 인프콘이나 유스콘 등 이런 기술 컨퍼런스에 관심이 많은 편이라 이번에도 신청을 하게 되었다. 지인에게 표를 받아 간 인프콘 외에 이런 랜덤 추첨식 컨퍼런스는 항상 떨어졌기 때문에 큰 기대를 하지 않고 있었는데 이번에는 운 좋게 참가자로 선정되어서 갈 수 있게 되었다. 이번 우아콘에서는 전과 달리 참여형 세션이 생겼는데 참여형의 경우 따로 구글폼으로 따로 신청을 받았다. 그중 소수의 멘티로 진행하는 집중형 멘토링을 신청했고 신청폼에는 신청사유와 질문목록 등을 작성하도록 되어있어 "오 이거 잘쓰면 붙겠는데?" 하는 생각에 정성들여 썼다. (이 전략이 통한 것 같다 ㅎㅎㅎ) 이런..
[백준] 1461 도서관 (java)
1. 문제https://www.acmicpc.net/problem/1461 2. 풀이- 키워드: 그리디를 이용해서 닥치는대로 풀어야한다. 주어진 책의 위치 리스트는 다음과같다. -372-6-39-2911-28 여기서 세준이의 위치와 책들의 시작위치는 0 이기 때문의 0의 위치도 추가된다.최소 거리를 구하기 위해서는 양수와 음수를 차례대로 정렬해보아야 한다.-39-37-29-28-60211 0 의 위치에서부터 M 만큼의 책을 들고 책을 두러 이동할 수 있다. 음수쪽에서 이동하게 되면 예제 1 (최대 들고 갈 수 있는 책의 수:2) 을 예로 들면 아래 처럼 묶어서 가는 것 보다는 제일 큰수를 최대한 묶음으로 가는 것이 최소 걸음 수가 나오게 된다.주의할 점은 제일 마지막으로 도착한 위치에서는 다시 0 의 ..
[백준] 2660 회장찾기 (java)
1. 링크- https://www.acmicpc.net/problem/26602. 풀이키워드: 플로이드 와샬 24. 플로이드 와샬(Floyd Warshall) 알고리즘 지난 시간에는 다익스트라(Dijkstra) 알고리즘에 대해 학습했습니다. 다익스트라 알고리즘은 하나...blog.naver.com - 플로이드 와샬 알고리즘을 이용한다.- 모든 정점 사이의 최단 거리를 구한다.- 구한 최단 거리 중 큰 점수를 구한다.- 큰 점수 중에서 가장 작은 점수(회장이 될 자격이있는) 를 구한 뒤 후보가 몇명이고 몇번째 인덱스가 후보인지를 출력한다.3. 소스코드- 좀 지저분하게 풀었지만.. 맞았다.import java.io.BufferedReader;import java.io.BufferedWriter;import..
[백준] 1389 케빈 베이컨의 6단계 법칙 (java)
1. 링크https://www.acmicpc.net/problem/1389 2. 풀이키워드: 플로이드 와샬 24. 플로이드 와샬(Floyd Warshall) 알고리즘 지난 시간에는 다익스트라(Dijkstra) 알고리즘에 대해 학습했습니다. 다익스트라 알고리즘은 하나...blog.naver.com - 플로이드 와샬 알고리즘을 이용한다.- 모든 정점 사이의 최단 거리를 구한다.- 구한 최단 거리를 합하고 그 합이 가장 작은 인덱스를 정답으로 출력한다.풀이 순서1. NxN 의 2차원 배열을 생성한다.2. 2차원 배열의 모든 값을 INF 로 초기화한다. - 최단 거리를 구해야하기 때문에 기준이 되는 값을 최대값 (MAX) 로 세팅한다.INF = 987654321;3. i=j 인 값은 (열,행이 같은 인덱스..
[백준] 11403 경로찾기 (java)
1. 링크- https://www.acmicpc.net/problem/11403 2. 풀이플로이드 와샬 알고리즘을 이용해서 푼다. 단순히 거쳐가는 정점을 반복문 젤 앞에 둔다.2차원 배열이므로 2차원 배열 반복문을 돌리면서 거쳐가는 정점을 모두 확인한다.해당 문제에서는 단순히 양수인 간선 (1) 을 확인하기 때문에 [i~k] [k~j] 가 모두 1이라면 arr[i][j] 도 업데이트한다.3. 소스코드 (java)/** * https://www.acmicpc.net/problem/11403 */public class BG_경로찾기 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedR..