본문 바로가기

boj42

[BOJ/Java] 5430 AC Queue로 열심히 풀다가 시간 다 버린 문제.. 문자열 처리도 까다로워서 해결하는데 시간을 많이 소요했다. 또 숨겨진 테스트케이스를 찾지 못해서 오랫동안 애먹었다. 이하 나름 refactor하고 주석으로 정리해본 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayDeque; public class BOJ5430 { static BufferedReader br; static StringBuilder sb; static int T, tc, n, i, j; static String funcP, tmpStr, tmpStrList[]; static ArrayDeque dq; static boolean .. 2022. 2. 13.
[BOJ/Java] 1874 스택 수열 처음 접근 때는 입력과 stack push를 같은 for문 안에서 돌려서 입력과 stack push가 독립적으로 가지 못했다. 이 자체가 로직 설계가 엉망이었다는 건데... 확실히 로직 설계 자체가 아직 서툰 것 같다. 경우의 수를 나누는 훈련도 제대로 안되어 있고... 경우의 수를 제대로 나눴다, 제대로 이해해서 짰다기보다는 이렇게 하면 되겠지 하는 느낌으로 해결한 것 같아서 아쉬운 문제, 반성이 필요한 부분이다. 주먹 구구식으로 해결한 문제 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Stack; public class BOJ1874 { static BufferedReader br; static St.. 2022. 2. 13.
[BOJ/Java] 18258 큐2, 10866 덱 거의 똑같은 문제 각각 Queue, Deque 사용을 연습할 수 있는 문제 18258 큐2 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.StringTokenizer; public class BOJ18258 { static BufferedReader br; static StringBuilder sb; static LinkedList q; static StringTokenizer st; static String tmp; static int n, i; public static void main(String[] args) throws Exception { br.. 2022. 2. 13.
[BOJ/Java] 11047 동전 0 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class BOJ11047 { static BufferedReader br; static StringTokenizer st; static int n, k, i, values[], cnt; public static void main(String[] args) throws Exception { br = new BufferedReader(new InputStreamReader(System.in)); st = new StringTokenizer(br.readLine()); n = Integer.parseInt(st.nextT.. 2022. 2. 13.
[BOJ/Java] 1436 영화감독 숌 contains 함수를 생각 못하고 while (totalCnt != n) { str = Integer.toString(num); for (i = 0; i < str.length() - 2; i++) { if (str.substring(i, i + 3).equals("666")) { totalCnt++; break; } } num++; } 이런 식으로 매 숫자마다 String을 생성하고 또 substring으로 생성하고, 해당 String의 index를 생각해서 했더니 메모리 초과가 발생했다. String이 너무 많아지니 당연히 메모리 초과가 발생하는 건데 메모리도 생각하며 짜도록 해야겠다. 정답 코드 import java.io.BufferedReader; import java.io.InputStream.. 2022. 2. 13.
[BOJ/Java] 1406 에디터 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; public class Main { static BufferedReader br; static StringBuilder sb; static LinkedList q; static char tmpCharList[]; static int cursor, m; static String str; public static void main(String[] args) throws Exception { br = new BufferedReader(new InputStreamReader(System.in)); sb = new StringBuilder(); t.. 2022. 2. 13.
[BOJ/Java] 1021 회전하는 큐 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.StringTokenizer; public class BOJ1021 { static BufferedReader br; static StringTokenizer st; static LinkedList dq; static int n, m, total, tmp, i; public static void main(String[] args) throws Exception { br = new BufferedReader(new InputStreamReader(System.in)); st = new StringTokenize.. 2022. 2. 13.
[BOJ/Java] 2563 색종이 import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { static BufferedReader in; static int n, papers[][], dx, dy, area = 0; static String[] temp; public static void main(String[] args) throws Exception { in = new BufferedReader(new InputStreamReader(System.in)); n = Integer.parseInt(in.readLine()); papers = new int[100][100]; for (int i = 0; i < n; i++) { temp = in.. 2022. 2. 11.
[BOJ/Java] 1158 요세푸스 문제 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class BOJ1158 { public static void main(String[] args) throws Exception { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); StringTokenizer st = new StringTokenizer(in.readLin.. 2022. 2. 10.
[BOJ/Java] 13335 트럭 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class BOJ13335 { public static void main(String[] args) throws Exception { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(in.readLine()); // 트럭 개수 n int n = Integer.parseI.. 2022. 2. 10.