PS

    Programmers - 피로도 (Java) 완전탐색

    Programmers - 피로도 (Java) 완전탐색

    https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제풀이] 입력으로 들어오는 배열 길이가 최대 8이므로 완전탐색으로 해결 할 수 있습니다. 우선 저는 순열을 이용해 모든 경우의 수를 구하여 문제를 해결하였습니다. class Solution { static int max = Integer.MIN_VALUE; public static int solution(int k, int[][] dungeons) { Solution.permutation(du..

    백준  알고리즘 수업 - 너비 우선 탐색 4 (24447) - Java

    백준 알고리즘 수업 - 너비 우선 탐색 4 (24447) - Java

    https://www.acmicpc.net/problem/24447 24447번: 알고리즘 수업 - 너비 우선 탐색 4 정점 1번에서 정점 2번, 정점 4번을 순서대로 방문한다. 정점 2번에서 정점 3번을 방문한다. 정점 5번은 정점 1번에서 방문할 수 없다. 따라서, ti 값은 1번 정점부터 1, 2, 4, 3, 0이다. 너비 우선 탐색 www.acmicpc.net [문제 해결] 방문한 순서를 기록할 배열 seq[]와, 깊이를 기록할 visited[] 배열을 만들어준다. 그래프가 만들어지면 인접 정점들을 오름차순 정렬을 해준다. bfs를 돌려준다. 주의 할점은 visited, seq 배열과 값을 곱하고 더해줄 ans변수를 long으로 해주어야 한다. import java.io.BufferedReader..

    백준 - 알고리즘 수업 (24444) - Java

    백준 - 알고리즘 수업 (24444) - Java

    https://www.acmicpc.net/problem/24444 24444번: 알고리즘 수업 - 너비 우선 탐색 1 첫째 줄에 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N)이 주어진다. 다음 M개 줄에 간선 정보 u v가 주어지며 정점 u와 정점 v의 가중치 1인 양방 www.acmicpc.net [문제 해결] ArrayList로 무방향 그래프를 만들어준다. ArrayList를 오름차순 정렬한다. bfs를 순회하면서 방문하지 않은 노드를 방문 처리하고 방문한 순서를 기록해준다. [Java] import java.io.BufferedReader; import java.io.IOException; import java...

    백준 가희와 키워드 (22233) - Java

    백준 가희와 키워드 (22233) - Java

    https://www.acmicpc.net/problem/22233 22233번: 가희와 키워드 1번째 글을 쓰고 난 후에, 메모장에 있는 키워드는 set, floyd, os가 됩니다. 2번째 글을 쓰고 난 후에, 메모장에 있는 키워드는 set, os가 됩니다. map은 1번째 글과 2번째 글에 중복으로 등장하였음을 www.acmicpc.net [문제 설명] 가희가 메모장에 키워드를 적어 놓았는데 가희가 글을 쓰면서 키워드 사용한 횟수를 세주면 된다. (이때 중복은 포함 X) [문제 풀이] 해쉬맵에 가희가 적은 키워드를 저장해준다 split() 메서드로 "," 를 분리해준다 파싱된 문자열 중에서 가희가 메모장에 적은 키워드가 있고 value 값이 1이면 카운트 해주고 value 값을 0으로 바꾸어준다 p..

    백준 데스 나이트 (16948) - Java

    백준 데스 나이트 (16948) - Java

    https://www.acmicpc.net/problem/16948 16948번: 데스 나이트 게임을 좋아하는 큐브러버는 체스에서 사용할 새로운 말 "데스 나이트"를 만들었다. 데스 나이트가 있는 곳이 (r, c)라면, (r-2, c-1), (r-2, c+1), (r, c-2), (r, c+2), (r+2, c-1), (r+2, c+1)로 이동할 수 있다. 크 www.acmicpc.net [풀이] 그래프 PS 좀 해보신 분들은 문제 보시자 마자 페이커 빙의해서 풀었죠? 라고 말씀 하셨을 겁니다. 전형적인 BFS 문제이며 6방면 탐색을 통해서 답을 도출해 내시면 됩니다. 최소 이동 횟수는 즉 최단 경로를 의미 하므로 bfs로 해결할 수 있는 문제입니다. 정답 코드는 아래와 같습니다. [Java] impor..

    자바 - 미로탐색 코드 (Stack)

    미로 탐색 코드입니다. 0: 길이 있는경우, 1: 벽, 2: 출구까지 경로 import java.util.*; public class Main{ private static int[][]arr; private static int x,y; /* static int arr[][] = {{0, 0, 0, 0, 0, 0, 0, 1}, {0, 1, 1, 0, 1, 1, 0, 1}, {0, 0, 0, 1, 0, 0, 0, 1}, {0, 1, 0, 0, 1, 1, 0 ,0}, {0, 1, 1, 1, 2, 2, 1, 1}, {0, 1, 2, 2, 2, 2, 2, 1}, {0, 0, 2, 1, 0, 1, 2, 1}, {0, 1, 1, 1, 0, 1, 2, 2}}; */ //미로 배열 주어짐 public static voi..