자바

· Java/BOJ
문제https://www.acmicpc.net/problem/10164   풀이고등학교? 때 배웠던 격자 상의 경로를 찾는 아이디어를 통해 문제를 해결했습니다. 격자 상의 출발지와 목적지를 정해 행렬을 만드는 방식으로 구현을 했습니다.  행렬을 만드는 메서드에는 시작점과 도착점, 그리고 특정 경로를 거치면  재귀를 통해 그 포인트부터 행렬을 생성할 수 있게끔 check 변수를 매개변수로 넣어주었습니다.  아래는 소스 코드입니다. 소스 코드import java.util.Scanner;public class B10164_격자상의경로 { static int N,M; static int[][] dp; public static void main(String[] args) { Scann..
· Java/BOJ
문제https://www.acmicpc.net/problem/14890 풀이빡 구현 문제입니다. 아이디어는 시간이 있다면 쉽게 떠올려지는데, 조건을 꼼꼼하게 점검해야하는 문제였습니다. 우선 경사면을 두 가지로 나누어 볼 수 있습니다. 앞의 계단이 높아서 올라가야하는 경사면과 낮아서 내려가야하는 경사면입니다. 올라가야하는 경사면에서는 현재의 위치에서 뒤로 L만큼 체크하며 경사면을 놓을 수 있는지 체크를 해야하고, 내려가야하는 경사면에서는 현재의 위치 다음부터 L만큼 앞으로 체크하며 경사면을 놓을 수 있는지 체크합니다.   그리고 경사면이 있는 위치에서는 경사면을 놓으면 안됩니다. 경사면이 있는 위치에서 경사면을 놓는 경우는 내려갔다가 올라가는 경우입니다. 이때 경사면을 slope 배열에 저장해 체크했습니다..
· Java/BOJ
문제https://www.acmicpc.net/problem/13335 풀이큐를 이용한 구현으로 문제를 해결했습니다. while문을 돌며 queue에 어떤 값을 집어 넣을지에 대한 조건을 정의합니다.   만약, 다음 차례의 트럭의 무게와 현재 다리에 있는 트럭 무게가 최대 허용 무게보다 작다면, queue에 다음 트럭을 넣고 아니라면 queue에 0을 넣어줍니다.  그리고 매번 큐의 사이즈를 체크하여 큐의 크기 다리 길이와 같으면 queue에서 poll해줍니다.  큐에 값을 add, poll 할 때에는 현재 다리의 트럭 무게를 업데이트해주었습니다. 아래는 소스코드입니다.소스코드import java.util.ArrayDeque;import java.util.Queue;import java.util.Scan..
· Java/BOJ
문제https://www.acmicpc.net/problem/11728  풀이두 가지 방법으로 문제를 해결할 수 있었습니다. Arrays.sort 메서드를 통해 단순히 구현하는 법과 포인터를 이용하는 법입니다. 포인터를 이용할 때에는, 두 배열에 대해 0부터 시작하는 포인터를 하나씩 두고, 둘 중 하나라도 포인터가 끝에 도달하면 while문을 멈춥니다. 그리고 끝까지 도달한 배열이 아닌, 다른 배열의 값을 모두 append 해주었습니다. 아래는 소스 코드입니다.소스 코드1. pointer 이용import java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args) { ..
· Java/BOJ
문제https://www.acmicpc.net/problem/2828   풀이 포인터를 이용해 문제를 해결했습니다.   바구니의 시작 점을 start, 그리고 끝 점은 end = start+M-1 로 표현할 수 있습니다. 그리고 들어오는 입력 값이 start와 end 사이에 있다면 이동하지 않아도 되고, 만약 범위 밖이라면 start와 end를 통채로 ++, --를 통해 옮겨주었습니다.  그리고 이동할 때마다 moveDist라는 변수를 ++ 해주며 답을 구했습니다.  아래는 소스 코드입니다.소스 코드import java.util.Scanner;public class B2828_사과담기게임 { public static void main(String[] args) { Scanner sc =..
· Java/BOJ
문제https://www.acmicpc.net/problem/14244 풀이트리의 개념을 활용한 구현 문제입니다.  이 문제에서 리프란, 간선이 하나밖에 없는 노드입니다. 그래서 트리의 끝만 포함되는 것이 아니라, 조건이 맞다면 루트도 포함될 수 있습니다.  소스 코드의 주석으로 풀이를 대체하겠습니다. 소스 코드import java.util.Scanner;public class B14244_트리만들기 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int M = sc.nextInt(); int leafCount = 0..
동구름이
'자바' 태그의 글 목록 (3 Page)