본문 바로가기

분류 전체보기

(144)
백준 10825 자바 (2) 시험 기간이라 배운 거 복습할 수 있는 문제 풀기.. ArrayList로 풀었습니다 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ArrayList arrayList = new ArrayList(); int T = Integer.parseInt(br.readLine()); for (int i = 0; i < T; i++) { StringTokenizer st = new StringTokenizer(br.readL..
백준 10810 자바 배열과 반복문으로 풀 수 있는 쉬운 문제입니다. 다만 유의할 점은 배열의 인덱스는 0부터이므로 공을 넣을 때 I-1을 하고 넣어줘야 합니다. import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st.nextToken()); int[] arr = new int[N]; int ..
백준 15988 자바 백준 DP 문제입니다. 1,2,3 더하기가 시리즈처럼 꽤 있더라고요 문제 풀이는 대부분 비슷합니다. 점화식 : dp[i] = dp[i-1] + dp[i-2] + dp[i-3] import java.io.*; import java.util.*; public class Main { static Long[] dp; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int T = Integer.parseInt(br.readLine()); StringBuilder sb = new StringBuilder(); dp[1] = 1..
백준 11722 자바 백준 11053 문제를 풀고 풀어본 문제입니다. 문제가 매우 비슷해서 딱 하나만 바꿔주면 되더라고요. 뭔가 처음 DP를 배우고 풀기에는 살짝 어려울 수 있습니다. 문제 자체는 쉬운데 DP를 이용해서 푸는 게 어렵더라고요. 그래서 다른 분의 도움을 받아서 풀었습니다. ㅎㅎ 설명을 해보자면 dp배열, 일반 배열 2개가 필요합니다. 일반 arr 배열에 숫자를 담고 각 숫자마다 sol 함수를 돌리는 겁니다. static int sol(int N) { if(dp[N] == null) { dp[N] = 1; for (int i = N-1; i >= 0; i--) { if (arr[N] < arr[i]) { dp[N] = Math.max(dp[N],sol(i)+1); } } } return dp[N]; } 이 함수를..
백준 2748 자바 DP를 공부하고 남기는 글입니다. 완전히 공부한 건 아니라서 설명이 미흡할 수 있습니다. 구글에 쳐보시면 더 지식이 많으신 분들이 많으니 자세한 건 그 분들 설명을 참고해주시길 바랍니다. 우선 dp의 기본적인 문제입니다. 제가 dp를 공부할 때 가장 중요하다고 생각한 부분은 점화식, 메모이제이션입니다. 아마 이 두 단어는 다른 분들의 설명에서도 많이 나올 것이라고 생각합니다. 피보나치 수가 대표적인 점화식 F(n) = F(n-1) + F(n-2)를 가지고 있으니 가장 기본적인 문제가 아닐까 싶습니다. import java.io.*; import java.util.*; public class Main { static Long[] dp; public static void main(String[] args) ..
백준 22233 자바 백준 hash 관련 문제입니다. 문제는 어렵지 않으나 입력 부분이 살짝 어려울 수 있습니다. 예제 입력1을 보고 그냥 Stringtokenizer st를 썼다면 예제 2번에서 막힙니다. st.hasmoreTokens()를 사용해야 합니다. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer..
JAVA substring (간단히) 백준 문자열 문제를 풀다가 막히는 부분이 있어서 substring에 대한 간단한 정리입니다. ex1) import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String s = "abcdef"; String ss = s.substring(0,3); System.out.println(ss); } } 출력 : abc 코딩에서의 인덱스 개념과 같습니다. abcdef 중 0 1 2에 해당하는 abc를 출력을 합니다. ex2) i..
백준 5635 자바 백준 정렬 문제이고 비교해야 할 게 좀 있다보니 Comparator를 씁니다. Arrays.sort(birth, new Comparator() { @Override public int compare(String[] o1, String[] o2) { if(o1[3].equals(o2[3])) { if(o1[2].equals(o2[2])) { return Integer.parseInt(o1[1]) - Integer.parseInt(o2[1]); } return Integer.parseInt(o1[2]) - Integer.parseInt(o2[2]); } return Integer.parseInt(o1[3]) - Integer.parseInt(o2[3]); } }); o1[3] = 연도 o1[2] = 월 o1..

반응형