본문 바로가기

백준32

백준 [java 자바] 2251번 : 물통 문제를 보고 처음 계획을 세울 때 감이 잘 잡히지 않았던 문제이다. import java.util.*; import java.io.*; class three { int a; int b; int c; three(int a, int b, int c){ this.a = a; this.b = b; this.c = c; } } class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); StringBuilder sb.. 2022. 8. 19.
백준 [자바 java] 7576번 : 토마토 처음 봤을 때에는 평소에 많이 봤던 문제인 것 같아서 쉽다고 생각했는데 시간 초과가 나서 조금 헷갈렸다. import java.util.*; import java.io.*; class Main{ static int n; static int m; static int[][] arr; static int k = 0; static int ok() { int ok = 1; for(int i = k;i 2022. 8. 19.
백준 [java 자바] 1629번 : 곱셈 이 문제는 정말 오랜만에 혼자 해결하지 못한 문제입니다. 아무리 풀어도 답이 나오지 않아서 다른 블로그 글을 참고했고 덕분에 분할 정복에 대해 알게 되었습니다. 언뜻 보기에는 쉬워 보이지만 사실 굉장한 장애물이 있습니다. 바로! 입력받은 수를 곱하면 long자료형이어도 넘어갈 수 있다는 것이다. 그래서 내가 다른 방법으로 풀었을 때 방법은 맞지만 틀렸습니다가 나온 이유인 것 같다. 이 문제에서 가장 중요한 개념은 거듭제곱을 분할하는 것 그러니까 10^5 = 10^2 * 10^2 * 10 이렇다는 것을 이용하는 것이다. 그리고 (a*a)% c와 (a% c)*(a% c)% c는 같다는 것이다. 근거는 (a*c + b)*(a*c+b) 하고 c로 나누어주면 어차피 남는 것은 b*b이기 때문이다. package .. 2022. 8. 13.
백준 [자바 java] 11057번 : 오르막 수 안녕하세요! 오랜만이네요 며칠 동안 동아리 활동 때문에 며칠 동안 못했더니 그새 감을 조금 잃은 거 같아서 슬픔니다ㅜㅜ 이 문제를 보자마자 공식이 있겠구나! 수학 문제구나! 생각했지만 금방 예전에 풀었던 계단 문제와 유사하다는 것을 알게 되었습니다. 정말 비슷하더라고요 자릿수를 입력받고 그 자릿수에서 나올 수 있는 오름차순의 개수를 구하는 문제입니다. import java.io.*; import java.util.*; class Main { public static void main(String[] arg) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader (System.in)); int n = Integer.. 2022. 8. 8.
백준 [자바 java] 1932번 : 정수삼각형 import java.io.*; import java.util.*; class Main { public static void main(String[] arg) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader (System.in)); StringTokenizer st; int n = Integer.parseInt(br.readLine()); int[][] arr = new int[n+1][n+1]; int[][] dp = new int[n+1][n+1]; int i,j; for(i = 1;i 2022. 8. 1.
백준 [자바 java] 14888번 : 연산자 끼워넣기 이 문제는 숫자 사이사이에 주어진 연산자를 끼워 넣어 최댓값과 최솟값을 구하는 문제입니다. 특이한 점은 연산자 우선순위를 무시한다는 점이었습니다. import java.io.*; import java.util.*; class Main { static int cnt = 0; static int[] k ; static boolean[] visit; static int[] po; static int max = -1000000000; static int min = 1000000000; static int[] l ; static void arr2() { int i; int hap = k[0]; for(i = 0; i 2022. 8. 1.