본문 바로가기

Algorithm

(252)
[백준] 9012 : 괄호 JAVA 풀이 이건 자바에 스택 클래스가 있다는 걸 모르고 푼 코드이다. 여기저기...군더더기가 많아 보임 import java.io.*; import java.util.*; public class Main { static int size = 0; public static void main(String[] args)throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); StringBuilder sb = new StringBuilder(); for(int i=0;i
[백준] 10828 : 스택 JAVA 풀이 ArrayList를 사용해서 풀어봤는데 뭔가..... 비효율적인 것 같아서 다른 방식으로도 풀어봤다. 코드의 길이는 큰 차이가 없지만 실행 시간에서 두 배나 차이가 나더라 하하하 import java.io.*; import java.util.*; public class Main { static ArrayList stack = new ArrayList(); public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; int N = Integer.parseInt(br.readLine()); for..
[백준] 11444 : 피보나치 수 5 JAVA 풀이 import java.io.*; import java.util.*; public class Main { final static long MOD = 1000000007; static long[][] fibo = {{1,1},{1,0}}; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // n을 입력받음 long N = Long.parseLong(br.readLine()); /* 행렬의 곱을 이용해 피보나치 수를 구하면 Fn+1 Fn Fn Fn-1 의 값을 가지는 행렬을 구할 수 있음 따라서 피보나치 기본값 행렬을 N..
[백준] 1629 : 곱셈 JAVA 풀이 import java.io.*; import java.util.*; public class Main{ static int C; public static void main(String[] args)throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine(), " "); int A = Integer.parseInt(st.nextToken()); int B = Integer.parseInt(st.nextToken()); C = Integer.parseInt(st.nextToken()); System.out...
[백준] 10830 : 행렬 제곱 JAVA 풀이 import java.io.*; import java.util.*; public class Main { static int N; static int[][] arr; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()," "); // N과 B를 입력받음 N = Integer.parseInt(st.nextToken()); long B = Long.parseLong(st.nextToken()); // 행렬의 값을 저장할 배열 생..
[백준] 2740 : 행렬 곱셈 JAVA 풀이 분할정복 문제를 조금 풀어봤는데 아직도 어떻게 풀어야 할지 감이 안 와서 검색을 해보니 단순히 행렬곱셈을 하는 코드도 정답처리된다기에 우선 그렇게 풀어보았다. import java.io.*; import java.util.*; public class Main{ static int[][] A; static int[][] B; static int[][] C; public static void main(String[] args)throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine(), " "); int ..
[백준] 2261 : 가장 가까운 두 점 JAVA 풀이 https://st-lab.tistory.com/256 [백준] 2261번 : 가장 가까운 두 점 - JAVA [자바] https://www.acmicpc.net/problem/2261 2261번: 가장 가까운 두 점 첫째 줄에 자연수 n(2 ≤ n ≤ 100,000)이 주어진다. 다음 n개의 줄에는 차례로 각 점의 x, y좌표가 주어진다. 각각의 좌표는 절댓값이 10,000을.. st-lab.tistory.com 이 포스트를 참고해서 풀었다 이전에 풀었던 히스토그램에서 가장 큰 직사각형의 넓이를 구하는 문제와 전체적인 흐름은 비슷하다. import java.io.*; import java.util.*; public class Main { // Point 객체 배열 선언 private static Poi..
[백준] 6549 : 히스토그램에서 가장 큰 직사각형 JAVA 풀이 https://st-lab.tistory.com/255 [백준] 6549번 : 히스토그램에서 가장 큰 직사각형 - JAVA [자바] https://www.acmicpc.net/problem/6549 6549번: 히스토그램에서 가장 큰 직사각형 입력은 테스트 케이스 여러 개로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, 직사각형의 수 n이 가장 처음 st-lab.tistory.com 이 포스트를 참고해서 풀었다. import java.io.*; import java.util.*; public class Main { static long[] histogram; public static void main(String[] args)throws IOException { BufferedReader ..