목록문법/알고리즘 (24)
공부방
거듭제곱을 해주는 메소드 Math.pow(거듭제곱할 숫자, 거듭제곱(몇제곱인지); https://www.acmicpc.net/problem/2903 2903번: 중앙 이동 알고리즘 상근이는 친구들과 함께 SF영화를 찍으려고 한다. 이 영화는 외계 지형이 필요하다. 실제로 우주선을 타고 외계 행성에 가서 촬영을 할 수 없기 때문에, 컴퓨터 그래픽으로 CG처리를 하려고 한다. www.acmicpc.net package 일반_수학_1; import java.util.Scanner; public class bj2903_중앙이동알고리즘 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int a=sc.nextInt(); Sy..
https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net package class2; import java.util.HashSet; import java.util.Scanner; import java.util.Set; public class 수찾기_1_1920 { public static void main(String[] args) { // Scanner 객체를 생성하여 사용자로부터 입력을 받는다. Sca..
https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 첫째 줄에 방의 크기 $N$과 $M$이 입력된다. $(3 \le N, M \le 50)$ 둘째 줄에 처음에 로봇 청소기가 있는 칸의 좌표 $(r, c)$와 처음에 로봇 청소기가 바라보는 방향 $d$가 입력된다. $d$가 $0$인 경우 북쪽 www.acmicpc.net package 방학1주차; import java.util.Scanner; public class 로봇청소기_14503 { static int N,M,count; static int[][] map; //북,동,남,서 static int[] dy= {-1,0,1,0}; static int[] dx= {0,1,0,-1}; public static voi..
https://www.acmicpc.net/problem/16395 16395번: 파스칼의 삼각형 파스칼의 삼각형은 이항계수를 삼각형 형태로 배열한 것인데, 블레즈 파스칼(1623-1662)을 따라 이름 붙여졌다. 단순한 형태로, 파스칼의 삼각형은 다음과 같은 방법으로 만들 수 있다. N번째 행 www.acmicpc.net 원래 코드 package DP; import java.util.Scanner; public class bj_파스칼의삼각형_16395 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int a=sc.nextInt(); int b=sc.nextInt(); int up=1; int left=1; in..
https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net package 플레가자스터디_백트래킹_BFS_DP; import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; public class bj_회의실배정_1_1931 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[][] arr = new int[N][2]; for (int i = 0; i < ..
https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net package DFS_BFS; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class bj_토마토_7576 { static int N,M,map[][],max; static boolean[][] visit; static int[] dy= {-1,1,0,0}; static i..
https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net package dp; import java.util.Arrays; import java.util.Scanner; public class bj_가장긴증가하는부분수열_11053 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int ..
https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net package dp; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; public class bj_설탕배달_복습_2839 { public static void main(String[] args) { Scanner sc = new Scanner(S..
https://www.acmicpc.net/problem/1916 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net package 다익스트라; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.PriorityQueue; import java.util.Scanner; public class 최소비용구하기_1916 { static int E,V;//정점과 간선의 수 ..
https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net package DFS_BFS; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class 미로탐색_2178_1 { static int[][] map;//2차 배열 선언 static int n;//y축 길이 static int m;//x축 길이 static boolean[][] visit;//방문 배열 2차배열이기 때문에 똑같..