본문 바로가기

BackJoon

(33)
2186. 문자 판으로 알게 된 static 변수의 사용법 www.acmicpc.net/problem/2186 2186번: 문자판 첫째 줄에 N(1 ≤ N ≤ 100), M(1 ≤ M ≤ 100), K(1 ≤ K ≤ 5)가 주어진다. 다음 N개의 줄에는 M개의 알파벳 대문자가 주어지는데, 이는 N×M 크기의 문자판을 나타낸다. 다음 줄에는 1자 이상 80자 이하의 www.acmicpc.net 위의 결과를 안겨준 코드는 import java.util.*; import java.io.*; public class Main { static char[][] board; static int R,C,K; static String target; static int[][][] dp; static int L; public static void main(String[] args) ..
2636 치즈 import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException{ BufferedReader bf= new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(bf.readLine()); int R = Integer.parseInt(st.nextToken()); int C = Integer.parseInt(st.nextToken()); //치즈 판 int[][] map = new int[R][C]; //치즈의 개수 int total=0; for(int r..
12904. A와 B www.acmicpc.net/problem/12904 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net 문제 -> 주어진 규칙 2가지를 사용해 S를 T로 변환시키는것이 가능하냐? 이때 주어진 규칙이 A를 붙이거나, 거꾸로 바꿔서 B를 붙이는 것이다. 따라서 역으로 T를 S로 변환시킨다고 생각하면 T의 마지막이 A면 A를 떼고 B면 B를 뗀다음에 reverse하면 된다. 그래서 S가 되면 되는거시다. 풀이1) char[]를 사용한 방식 package 스터디2021_2; impo..
17144. 아기상어 https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사과는 뛰어난 코딩 실력을 이용해 각 칸 (r, c)에 있는 미세먼지의 양을 실시간으로 모니터링하는 시스템을 개발했다. (r, c)는 r행 c열을 의미한다. 공기청정기는 항상 1번 열에 설치되어 있고, 크기는 두 행을 차지한다. 공기청정기가 설치되어 있지 않은 칸에는 미세먼 www.acmicpc.net 어떻게 코딩할지까지가 조금 헤맸다. BFS로하면 간단했는데... 또 다른사람들도 거의 BFS로 했더라 근데 난 그걸 생각하는데..
17144. 미세먼지 안녕! https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사과는 뛰어난 코딩 실력을 이용해 각 칸 (r, c)에 있는 미세먼지의 양을 실시간으로 모니터링하는 시스템을 개발했다. (r, c)는 r행 c열을 의미한다. 공기청정기는 항상 1번 열에 설치되어 있고, 크기는 두 행을 차지한다. 공기청정기가 설치되어 있지 않은 칸에는 미세먼 www.acmicpc.net package 삼성Expert; import java.io.*; import java.util.*; public class 미..
5557.1학년 https://www.acmicpc.net/problem/5557 5557번: 1학년 문제 상근이가 1학년 때, 덧셈, 뺄셈을 매우 좋아했다. 상근이는 숫자가 줄 지어있는 것을 보기만 하면, 마지막 두 숫자 사이에 '='을 넣고, 나머지 숫자 사이에는 '+' 또는 '-'를 넣어 등식을 만들며 놀고 있다. 예를 들어, "8 3 2 4 8 7 2 4 0 8 8"에서 등식 "8+3-2-4+8-7-2-4-0+8=8"을 만들 수 있다. 상근이는 올바른 등식을 만들려고 한다. 상근이는 아직 학교에서 음수를 배우지 않았고, 20을 넘는 수는 모른다. www.acmicpc.net 아 진짜 이문제 당연히 모든 경우 다해봐야하는거 아니야?? 라고 화내며 못풀었던문제. 정말 DP는 풀때마다 새롭고,,, 스킬이 늘긴느는지....
7579.앱 https://www.acmicpc.net/problem/7579 7579번: 앱 입력은 3줄로 이루어져 있다. 첫 줄에는 정수 N과 M이 공백문자로 구분되어 주어지며, 둘째 줄과 셋째 줄에는 각각 N개의 정수가 공백문자로 구분되어 주어진다. 둘째 줄의 N개의 정수는 현재 활성화 되어 있는 앱 A1, ..., AN이 사용 중인 메모리의 바이트 수인 m1, ..., mN을 의미하며, 셋째 줄의 정수는 각 앱을 비활성화 했을 경우의 비용 c1, ..., cN을 의미한다 단, 1 ≤ N ≤ 100, 1 ≤ M ≤ 10,000,000이며, 1 www.acmicpc.net 보자마자 평범한 배낭 문제가 생각났다. 똑같이 풀면된다. //dp 배열 int[][] b = new int[2][M+1]; for(int[] ..
12865.평범한 배낭 package dynamicProgramming; import java.util.Scanner; public class KnapSack { public static void main(String[] args) { Scanner scan= new Scanner(System.in); //물건갯수와 무게K int N = scan.nextInt(); int K = scan.nextInt(); //dp배열 int[][] c = new int[N+1][K+1]; //무게와 가치 int[] W = new int[N+1]; int[] V = new int[N+1]; W[0]=0; V[0]=0; for(int i=1;i